Instead of using a thirdparty action and painfully passing things around, simply use the GitHub CLI (gh) and assemble the release notes on the fly. This makes for much simpler and much easier to maintain code. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
77 lines
2.4 KiB
YAML
77 lines
2.4 KiB
YAML
name: Ubuntu 14.04 / Qt 5.12 for AppImage--
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
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: |
|
|
version=$(bash ./scripts/get-atomic-buildnr.sh ${{ github.sha }} ${{ secrets.NIGHTLY_BUILDS }} "CICD-release")
|
|
echo "version=$version" >> $GITHUB_OUTPUT
|
|
bash scripts/create-releasenotes.sh ${{ github.event.head_commit.id }}
|
|
|
|
- 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${{ steps.version_number.outputs.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${{ steps.version_number.outputs.version }}
|
|
repository: subsurface/nightly-builds
|
|
token: ${{ secrets.NIGHTLY_BUILDS }}
|
|
prerelease: false
|
|
fail_on_unmatched_files: true
|
|
files: |
|
|
./Subsurface*.AppImage
|
|
body_path: gh_release_notes |