Skip to content

Commit

Permalink
ci: add snapcrafters CI (#4)
Browse files Browse the repository at this point in the history
Needed to explicitly add architectures to the snap for that too.

Signed-off-by: Alex Lowe <alex.lowe@canonical.com>
  • Loading branch information
lengau committed Feb 1, 2024
1 parent 22ce92a commit bcda7f9
Show file tree
Hide file tree
Showing 4 changed files with 121 additions and 0 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/promote-to-stable.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Promote

on:
issue_comment:
types:
- created

permissions:
issues: write

jobs:
promote:
name: ⬆️ Promote to stable
environment: "Candidate Branch"
runs-on: ubuntu-latest
if: |
( !github.event.issue.pull_request )
&& contains(github.event.comment.body, '/promote ')
&& contains(github.event.*.labels.*.name, 'testing')
steps:
- name: ⬆️ Promote to stable
uses: snapcrafters/ci/promote-to-stable@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
store-token: ${{ secrets.SNAP_STORE_STABLE }}
17 changes: 17 additions & 0 deletions .github/workflows/pull-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Pull Request

on:
pull_request:
branches: [ "**" ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: 🧪 Build snap on amd64
runs-on: ubuntu-latest
steps:
- name: 🧪 Build snap on amd64
uses: snapcrafters/ci/test-snap-build@main
72 changes: 72 additions & 0 deletions .github/workflows/release-to-candidate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Release

on:
# Run the workflow each time new commits are pushed to the candidate branch.
push:
branches: [ "candidate" ]
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read
issues: write

jobs:
get-architectures:
name: 🖥 Get snap architectures
runs-on: ubuntu-latest
outputs:
architectures: ${{ steps.get-architectures.outputs.architectures }}
architectures-list: ${{ steps.get-architectures.outputs.architectures-list }}
steps:
- name: 🖥 Get snap architectures
id: get-architectures
uses: snapcrafters/ci/get-architectures@main

release:
name: 🚢 Release to latest/candidate
needs: get-architectures
runs-on: ubuntu-latest
environment: "Candidate Branch"
strategy:
matrix:
architecture: ${{ fromJSON(needs.get-architectures.outputs.architectures-list) }}
steps:
- name: 🚢 Release to latest/candidate
uses: snapcrafters/ci/release-to-candidate@main
with:
architecture: ${{ matrix.architecture }}
launchpad-token: ${{ secrets.LP_BUILD_SECRET }}
repo-token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }}
store-token: ${{ secrets.SNAP_STORE_CANDIDATE }}

call-for-testing:
name: 📣 Create call for testing
needs: [release, get-architectures]
environment: "Candidate Branch"
runs-on: ubuntu-latest
outputs:
issue-number: ${{ steps.issue.outputs.issue-number }}
steps:
- name: 📣 Create call for testing
id: issue
uses: snapcrafters/ci/call-for-testing@main
with:
architectures: ${{ needs.get-architectures.outputs.architectures }}
github-token: ${{ secrets.GITHUB_TOKEN }}

screenshots:
name: 📸 Gather screenshots
needs: call-for-testing
environment: "Candidate Branch"
runs-on: ubuntu-latest
steps:
- name: 📸 Gather screenshots
uses: snapcrafters/ci/get-screenshots@main
with:
issue-number: ${{ needs.call-for-testing.outputs.issue-number }}
github-token: ${{ secrets.GITHUB_TOKEN }}
screenshots-token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }}
7 changes: 7 additions & 0 deletions snap/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ description: |
This is NCSA Mosaic 2.7, one of the first graphical web browsers.
confinement: strict
grade: stable
architectures:
- amd64
- arm64
- armhf
- ppc64el
- riscv64
- s390x

apps:
mosaic:
Expand Down

0 comments on commit bcda7f9

Please sign in to comment.