wmbusmeters/.github/workflows/build_snap.yml

66 wiersze
1.7 KiB
YAML

name: Build Snap
on:
push:
branches:
- 'master'
tags:
- '[0-9]+\.[0-9]+\.[0-9]+'
- '[0-9]+\.[0-9]+\.[0-9]+-RC[0-9]+'
jobs:
build-and-release:
runs-on: ubuntu-latest
strategy:
matrix:
architecture:
- amd64
- armhf
- arm64
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: wmbusmeters/wmbusmeters
tags: type=ref,event=tag
-
name: Build
id: build
uses: diddlesnaps/snapcraft-multiarch-action@v1
with:
architecture: ${{ matrix.architecture }}
-
name: Publish release to Stable
uses: snapcore/action-publish@v1
if: ${{ steps.meta.outputs.tags && !contains(steps.meta.outputs.tags, '-RC') }}
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.snapcraft_token }}
with:
snap: ${{ steps.build.outputs.snap }}
release: stable
-
name: Publish RC to Candidate
uses: snapcore/action-publish@v1
if: ${{ steps.meta.outputs.tags && contains(steps.meta.outputs.tags, '-RC') }}
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.snapcraft_token }}
with:
snap: ${{ steps.build.outputs.snap }}
release: candidate
-
name: Publish latest to Edge
uses: snapcore/action-publish@v1
if: ${{ !steps.meta.outputs.tags }}
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.snapcraft_token }}
with:
snap: ${{ steps.build.outputs.snap }}
release: edge