From 32994d236c1db57e8cf8c95f114768d202fc905c Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Mon, 10 Oct 2022 15:54:51 -0500 Subject: [PATCH] trivial: use github actions to build snaps --- .github/workflows/main.yml | 7 ++++++ .github/workflows/snap-stable.yml | 13 +++++++++++ .github/workflows/snap.yml | 38 +++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 .github/workflows/snap-stable.yml create mode 100644 .github/workflows/snap.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 012568a99..581f134d0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -74,6 +74,13 @@ jobs: echo $GITHUB_WORKSPACE docker run --privileged -e CI=true -t -v $GITHUB_WORKSPACE:/github/workspace docker.pkg.github.com/fwupd/fwupd/fwupd-${{matrix.os}}:latest + snap: + uses: ./.github/workflows/snap.yml + with: + deploy: ${{ github.event_name }} == "push' + channel: edge + secrets: inherit + macos: runs-on: macos-12 steps: diff --git a/.github/workflows/snap-stable.yml b/.github/workflows/snap-stable.yml new file mode 100644 index 000000000..cbc02cc07 --- /dev/null +++ b/.github/workflows/snap-stable.yml @@ -0,0 +1,13 @@ +name: Publish to snap stable channel + +on: + release: + types: [published] + +jobs: + snap: + uses: ./.github/workflows/snap.yml + with: + deploy: true + channel: stable + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml new file mode 100644 index 000000000..4ed2da16e --- /dev/null +++ b/.github/workflows/snap.yml @@ -0,0 +1,38 @@ +name: Snap workflow +on: + workflow_call: + inputs: + channel: + required: true + type: string + deploy: + required: true + type: boolean + +jobs: + build-snap: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: snapcore/action-build@v1 + id: snapcraft + - uses: actions/upload-artifact@v3 + with: + name: snap + path: ${{ steps.snapcraft.outputs.snap }} + + deploy-store: + needs: build-snap + runs-on: ubuntu-latest + if: ${{ inputs.perform_deploy }} + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v3 + with: + name: snap + - uses: snapcore/action-publish@v1 + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.STORE_LOGIN }} + with: + snap: ${{ steps.build.outputs.snap }} + release: ${{ inputs.channel }}