mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Change the builds on push (i.e. pull request merges) to build release versions. This seems to be the correct way to build these, as they are now distributed as the official builds on https://subsurface-divelog.org/. For users wanting to help with debugging, build artifacts on pull requests are available, and these are debug builds. Also adding the option to manually trigger builds, so if needed debug builds can be run on `master`. Signed-off-by: Michael Keller <github@ike.ch>
88 lines
2.7 KiB
YAML
88 lines
2.7 KiB
YAML
name: Mac
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- scripts/docker/**
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths-ignore:
|
|
- scripts/docker/**
|
|
branches:
|
|
- master
|
|
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: macOS-12
|
|
steps:
|
|
- name: checkout sources
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: recursive
|
|
|
|
- name: setup Homebrew
|
|
run: brew install hidapi libxslt libjpg libmtp libraw create-dmg confuse automake
|
|
|
|
- name: checkout Qt resources
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: subsurface/qt-mac
|
|
ref: main
|
|
path: qt-mac
|
|
|
|
- name: set the version information
|
|
id: version_number
|
|
uses: ./.github/actions/manage-version
|
|
with:
|
|
nightly-builds-secret: ${{ secrets.NIGHTLY_BUILDS }}
|
|
|
|
- name: build Subsurface
|
|
id: build
|
|
env:
|
|
CANONICALVERSION: ${{ steps.version_number.outputs.version }}
|
|
run: |
|
|
BUILD_EXTRA_ARGS=""
|
|
if [ "${GITHUB_EVENT_NAME}" = "push" ]; then
|
|
echo "Building a release version"
|
|
BUILD_EXTRA_ARGS="${BUILD_EXTRA_ARGS} -release"
|
|
fi
|
|
|
|
cd ${GITHUB_WORKSPACE}/..
|
|
export QT_ROOT=${GITHUB_WORKSPACE}/qt-mac/Qt5.15.15
|
|
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
|
|
export PATH=$QT_ROOT/bin:$PATH
|
|
export CMAKE_PREFIX_PATH=$QT_ROOT/lib/cmake
|
|
|
|
# now setup Subsurface with WebKit and build the dependencies, using the generic build script
|
|
bash -e -x ./subsurface/scripts/build.sh -desktop -build-with-webkit -build-deps -ftdi -prep-only ${BUILD_EXTRA_ARGS}
|
|
|
|
echo "finished initial cmake setup of Subsurface - next build the package"
|
|
cd subsurface/build
|
|
echo "run the packaging script"
|
|
bash -e -x ../packaging/macosx/make-package.sh | tee mp.log 2>&1
|
|
IMG=$(grep ^created: mp.log | tail -1 | cut -b10-)
|
|
echo "Created $IMG"
|
|
echo "dmg=$IMG" >> $GITHUB_OUTPUT
|
|
|
|
- name: publish pull request artifacts
|
|
if: github.event_name == 'pull_request'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Subsurface-MacOS-${{ steps.version_number.outputs.version }}
|
|
path: ${{ steps.build.outputs.dmg }}
|
|
compression-level: 0
|
|
|
|
# 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@v2
|
|
with:
|
|
tag_name: v${{ steps.version_number.outputs.version }}
|
|
repository: ${{ github.repository_owner }}/nightly-builds
|
|
token: ${{ secrets.NIGHTLY_BUILDS }}
|
|
prerelease: false
|
|
fail_on_unmatched_files: true
|
|
files: ${{ steps.build.outputs.dmg }}
|