From 2d210ae55770c343e8e67a78913578c72c392ae5 Mon Sep 17 00:00:00 2001 From: Jon Seager Date: Tue, 4 Mar 2025 12:36:31 +0000 Subject: [PATCH] ci: add snap publishing workflow (#2435) Co-authored-by: sxyazi --- .github/workflows/draft.yml | 26 ++++++++++++++++++++++++++ .github/workflows/publish.yml | 7 +++++++ 2 files changed, 33 insertions(+) diff --git a/.github/workflows/draft.yml b/.github/workflows/draft.yml index 65b1be49..e863eeb0 100644 --- a/.github/workflows/draft.yml +++ b/.github/workflows/draft.yml @@ -232,3 +232,29 @@ jobs: name: Nightly Build body: ${{ env.NIGHTLY_BODY }} target_commitish: ${{ github.sha }} + + snap: + runs-on: ubuntu-latest + needs: [build-snap] + steps: + - uses: actions/download-artifact@v4 + with: + pattern: yazi-*.snap + merge-multiple: true + + - name: Setup snapcraft + run: sudo snap install --classic snapcraft + + - name: Push snap to candidate channel + if: startsWith(github.ref, 'refs/tags/') + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + run: | + parallel 'snapcraft push -v --release latest/candidate {}' ::: yazi-*.snap + + - name: Push snap to edge channel + if: ${{ !startsWith(github.ref, 'refs/tags/') }} + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + run: | + parallel 'snapcraft push -v --release latest/edge {}' ::: yazi-*.snap diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 48d0051f..434b693d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,3 +18,10 @@ jobs: identifier: sxyazi.yazi installers-regex: 'yazi-(x86_64|aarch64)-pc-windows-msvc\.zip$' token: ${{ secrets.WINGET_TOKEN }} + + - name: Promote snap to stable + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + run: | + sudo snap install --classic snapcraft + snapcraft promote yazi --from-channel latest/candidate --to-channel latest/stable --yes