Skip to content
name: デプロイ(snap arm64)
on:
push:
workflow_dispatch:
release:
types: [published]
permissions:
contents: write
jobs:
build:
name: ビルド(Snap arm64)
runs-on: macos-14
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup snapcraft
run: brew install lxc
- name: Build Snap
run: |
lxc init --minimal
lxc launch ubuntu:22.04 buildmiria
lxc exec buildmiria -- apt-get update && apt-get upgrade -y && apt-get install -y git
lxc exec buildmiria -- snap install snapcraft --classic
lxc exec buildmiria -- git clone https://github.com/Npepperlinux/miria -b snap
lxc exec buildmiria -- cd miria && snapcraft --destructive-mode
lxc pull buildmiria/root/miria/miria*.snap
- name: Get Build Version
run: |
echo "VERSION=$(yq -r '.version' pubspec.yaml)" >> $GITHUB_ENV
- name: Upload snap
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload v$VERSION miria_${VERSION}_arm64.snap
# https://gihyo.jp/admin/serial/01/ubuntu-recipe/0660#sec3 : Snapパッケージアップロードまでの流れ
# https://github.com/snapcore/action-publish : Snap ActionのREADME.md
# Snap Storeでパッケージ名"miria"を予約後、"SNAPCRAFT_STORE_CREDENTIALS"を登録し、
# 以下をコメントアウトを解除することでSnap Storeへアップロードすることが可能です。
# Snap Storeでの公開後は、上記の"Upload snap"をコメントアウトしてください。
# (通常、SnapファイルをそのままStore外で公開することはありません)
#
#- name: Upload Snap Store
# uses: snapcore/action-publish@v1
# env:
# SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.STORE_LOGIN }}
# with:
# snap: ${{ steps.snapcraft.outputs.snap }}
# release: stable