2019-10-14 21:13:00 +00:00
name : Mac
2019-10-26 01:04:01 +00:00
on :
push :
branches :
- master
pull_request :
branches :
- master
2019-10-14 21:13:00 +00:00
jobs :
2020-12-11 17:49:40 +00:00
buildMac :
2023-12-08 18:31:18 +00:00
runs-on : macOS-11
2019-10-14 21:13:00 +00:00
steps :
- name : checkout sources
uses : actions/checkout@v1
2024-01-05 04:44:31 +00:00
2023-12-11 04:04:45 +00:00
- name : atomically create or retrieve the build number
2024-01-05 04:44:31 +00:00
id : version_number
2023-12-15 22:34:24 +00:00
if : github.event_name == 'push'
2023-12-11 04:04:45 +00:00
run : |
2024-01-09 01:58:56 +00:00
version=$(bash ./scripts/get-atomic-buildnr.sh ${{ github.sha }} ${{ secrets.NIGHTLY_BUILDS }} "CICD-release")
2024-01-05 04:44:31 +00:00
echo "version=$version" >> $GITHUB_OUTPUT
- 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
2023-12-11 04:04:45 +00:00
2019-10-14 21:13:00 +00:00
- name : setup Homebrew
2023-12-11 00:27:30 +00:00
run : brew install hidapi libxslt libjpg libmtp create-dmg confuse
2019-10-14 21:13:00 +00:00
- name : set our Qt build
run : |
2023-12-08 18:31:18 +00:00
curl --output ssrf-Qt-5.15.2-mac.tar.xz https://f002.backblazeb2.com/file/Subsurface-Travis/ssrf-Qt5.15.2.tar.xz
tar -xJf ssrf-Qt-5.15.2-mac.tar.xz
2020-01-01 18:52:53 +00:00
- name : build Subsurface
2023-12-10 23:01:42 +00:00
id : build
2020-01-01 18:52:53 +00:00
run : |
cd ${GITHUB_WORKSPACE}/..
2023-12-08 18:31:18 +00:00
export QT_ROOT=${GITHUB_WORKSPACE}/Qt5.15.2/5.15.2/clang_64
2020-01-01 18:52:53 +00:00
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export PATH=$QT_ROOT/bin:$PATH
export CMAKE_PREFIX_PATH=$QT_ROOT/lib/cmake
DIR=$(pwd)
2019-12-27 19:21:09 +00:00
2023-12-08 23:23:53 +00:00
# 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 -release -build-deps -ftdi -prep-only
2019-10-14 21:13:00 +00:00
2023-12-08 23:23:53 +00:00
echo "finished initial cmake setup of Subsurface - next build the package"
2023-12-08 18:31:18 +00:00
cd subsurface/build
echo "run the packaging script"
2023-12-08 23:23:53 +00:00
bash -e -x ../packaging/macosx/make-package.sh | tee mp.log 2>&1
IMG=$(grep ^created : mp.log | tail -1 | cut -b10-)
2023-12-08 18:31:18 +00:00
echo "Created $IMG"
2023-12-10 23:01:42 +00:00
echo "dmg=$IMG" >> $GITHUB_OUTPUT
2019-10-14 21:13:00 +00:00
2023-12-10 23:01:42 +00:00
# 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 :
2023-12-11 04:04:45 +00:00
tag_name : v${{ steps.version_number.outputs.version }}
2023-12-10 23:01:42 +00:00
repository : subsurface/nightly-builds
token : ${{ secrets.NIGHTLY_BUILDS }}
prerelease : false
fail_on_unmatched_files : true
files : ${{ steps.build.outputs.dmg }}
2023-12-11 01:00:29 +00:00
body : |
CICD release artifact
These builds are created on every merge or push into the [Subsurface repo](http://github.com/subsurface/subsurface).
2024-01-08 10:15:04 +00:00
This build is based on changeset ${{ github.event.head_commit.id }} ([link](${{ github.event.head_commit.url }})):
${{ github.event.head_commit.message }}
2023-12-11 01:00:29 +00:00
2024-01-08 00:27:21 +00:00
None of these artifacts are signed with an official key.
2023-12-11 01:00:29 +00:00
The Android APK can be side-loaded on most Android devices. If you had a previous Subsurface-mobile version installed from the Google Play store, you'll have to uninstall that first.
The Windows installer will ask you to confirm installation of an app from an unknown developer.
The macOS DMG makes it even harder with a multi-step dance that requires opening the Privacy & Security settings in the System Preferences and explicitly confirming that you are willing to install this app.
You can find similar Subsurface-Daily builds for [Ubuntu](https://ppa.launchpadcontent.net/subsurface) and Subsurface-test for [Fedora](https://copr.fedorainfracloud.org/coprs/dirkhh/Subsurface-test).
2024-01-08 10:15:04 +00:00
**Note:** Due to the asynchronous nature of our build process the artifacts for the individual platforms are added to the release one by one, whenever their build is finished. So if you can not find a particular artifact on a recent (less than 2 hours old) build, please come back later and check again.
2023-12-11 01:00:29 +00:00
Please report any issues with these builds in the [Subsurface user forum](https://groups.google.com/g/subsurface-divelog).