mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-04 08:01:28 +00:00
30efede730
In order to make it easier to see what's happening inside get-atomic-buildnr.sh write the result to a file that can be read by the caller. Not quite as elegant, but hopefully more practical to see what's going wrong when no new build number is created. Make sure that post-releasenotes is successfull by actually posting a release artifact (apparently the gh release action otherwise quietly fails). Try to ensure we find the Android APK when uploading to the release. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
76 lines
2.2 KiB
YAML
76 lines
2.2 KiB
YAML
name: Linux Snap
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
Snap:
|
|
runs-on: ubuntu-latest
|
|
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
# Needed for version determination to work
|
|
fetch-depth: 0
|
|
|
|
- name: atomically create or retrieve the build number
|
|
id: version_number
|
|
if: github.event_name == 'push'
|
|
run: |
|
|
bash scripts/get-atomic-buildnr.sh ${{ github.sha }} ${{ secrets.NIGHTLY_BUILDS }} "CICD-release"
|
|
|
|
- name: store dummy version and build number for pull request
|
|
if: github.event_name == 'pull_request'
|
|
run: |
|
|
echo "100" > latest-subsurface-buildnumber
|
|
echo "CICD-pull-request" > latest-subsurface-buildnumber-extension
|
|
|
|
- name: Set up LXD
|
|
uses: canonical/setup-lxd@main
|
|
|
|
- name: Set up CCache
|
|
id: setup-ccache
|
|
run: |
|
|
sudo apt-get install ccache
|
|
mkdir -p ${HOME}/.ccache
|
|
ccache --max-size=2G
|
|
/snap/bin/lxc profile device add default ccache disk source=${HOME}/.ccache/ path=/root/.ccache
|
|
|
|
# Patch snapcraft.yaml to enable ccache
|
|
patch -p1 < .github/workflows/linux-snap.patch
|
|
|
|
# Find common base between master and HEAD to use as cache key.
|
|
git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules origin master
|
|
echo "key=$( git merge-base origin/master ${{ github.sha }} )" >> $GITHUB_OUTPUT
|
|
|
|
- name: CCache
|
|
uses: actions/cache@v3
|
|
with:
|
|
key: ccache-${{ runner.os }}-${{ steps.setup-ccache.outputs.key }}
|
|
restore-keys: |
|
|
ccache-${{ runner.os }}-
|
|
path: ~/.ccache/**
|
|
|
|
- name: Build and verify the snap
|
|
uses: canonical/actions/build-snap@release
|
|
id: build-snap
|
|
with:
|
|
setup-lxd: false
|
|
|
|
- name: Clear CCache stats
|
|
run: ccache --show-stats --zero-stats
|
|
|
|
- name: Upload the snap
|
|
if: github.event_name == 'push'
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ${{ steps.build-snap.outputs.snap-name }}
|
|
path: ${{ steps.build-snap.outputs.snap-path }}
|
|
if-no-files-found: error
|