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>
72 lines
2.2 KiB
YAML
72 lines
2.2 KiB
YAML
name: Ubuntu 14.04 / Qt 5.12 for AppImage--
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
buildAppImage:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: docker://subsurface/trusty-qt512:1.1
|
|
|
|
steps:
|
|
- name: checkout sources
|
|
uses: actions/checkout@v1
|
|
|
|
- name: atomically create or retrieve the build number and assemble release notes
|
|
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: run build
|
|
env:
|
|
SUBSURFACE_REPO_PATH: ${{ github.workspace }}
|
|
run: |
|
|
cd ..
|
|
git config --global --add safe.directory ${SUBSURFACE_REPO_PATH}
|
|
git config --global --add safe.directory ${SUBSURFACE_REPO_PATH}/libdivecomputer
|
|
rm -rf /install-root/include/libdivecomputer
|
|
bash -x subsurface/.github/workflows/scripts/linux-in-container-build.sh
|
|
|
|
- name: prepare PR artifacts
|
|
if: github.event_name == 'pull_request'
|
|
run: |
|
|
mkdir -p Linux-artifacts
|
|
mv Subsurface.AppImage Linux-artifacts
|
|
|
|
- name: PR artifacts
|
|
if: github.event_name == 'pull_request'
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: Linux-artifacts
|
|
path: Linux-artifacts
|
|
|
|
- name: prepare release artifacts
|
|
if: github.event_name == 'push'
|
|
run: |
|
|
mv Subsurface.AppImage Subsurface-v(<release-version).AppImage
|
|
|
|
# only publish a 'release' on push events (those include merging a PR)
|
|
- name: upload binaries
|
|
if: github.event_name == 'push'
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
tag_name: v$(<release-version)
|
|
repository: subsurface/nightly-builds
|
|
token: ${{ secrets.NIGHTLY_BUILDS }}
|
|
prerelease: false
|
|
fail_on_unmatched_files: true
|
|
files: |
|
|
./Subsurface*.AppImage
|