2019-10-14 21:13:00 +00:00
|
|
|
name: Mac
|
2024-05-12 09:57:41 +00:00
|
|
|
|
2019-10-26 01:04:01 +00:00
|
|
|
on:
|
|
|
|
push:
|
2024-01-20 12:07:33 +00:00
|
|
|
paths-ignore:
|
|
|
|
- scripts/docker/**
|
2019-10-26 01:04:01 +00:00
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
pull_request:
|
2024-01-20 12:07:33 +00:00
|
|
|
paths-ignore:
|
|
|
|
- scripts/docker/**
|
2019-10-26 01:04:01 +00:00
|
|
|
branches:
|
|
|
|
- master
|
2019-10-14 21:13:00 +00:00
|
|
|
|
2024-05-09 01:19:21 +00:00
|
|
|
|
2019-10-14 21:13:00 +00:00
|
|
|
jobs:
|
2024-05-07 07:27:42 +00:00
|
|
|
build:
|
2023-12-08 18:31:18 +00:00
|
|
|
runs-on: macOS-11
|
2019-10-14 21:13:00 +00:00
|
|
|
steps:
|
|
|
|
- name: checkout sources
|
2024-05-09 01:19:21 +00:00
|
|
|
uses: actions/checkout@v4
|
2024-05-11 05:33:54 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
|
|
|
submodules: recursive
|
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
|
2024-05-09 01:19:21 +00:00
|
|
|
|
|
|
|
- name: checkout Qt resources
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
with:
|
|
|
|
repository: subsurface/qt-mac
|
|
|
|
ref: main
|
|
|
|
path: qt-mac
|
|
|
|
|
2024-05-11 05:33:54 +00:00
|
|
|
- name: set the version information
|
|
|
|
id: version_number
|
|
|
|
uses: ./.github/actions/manage-version
|
|
|
|
with:
|
|
|
|
nightly-builds-secret: ${{ secrets.NIGHTLY_BUILDS }}
|
|
|
|
|
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}/..
|
2024-05-09 01:19:21 +00:00
|
|
|
export QT_ROOT=${GITHUB_WORKSPACE}/qt-mac/Qt5.15.13
|
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
|
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
|
|
|
|
2024-05-05 22:59:25 +00:00
|
|
|
- name: publish pull request artifacts
|
|
|
|
if: github.event_name == 'pull_request'
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
with:
|
2024-05-11 05:33:54 +00:00
|
|
|
name: Subsurface-MacOS-${{ steps.version_number.outputs.version }}
|
2024-05-05 22:59:25 +00:00
|
|
|
path: ${{ steps.build.outputs.dmg }}
|
|
|
|
compression-level: 0
|
|
|
|
|
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'
|
2024-05-12 23:07:05 +00:00
|
|
|
uses: softprops/action-gh-release@v2
|
2023-12-10 23:01:42 +00:00
|
|
|
with:
|
2024-01-10 21:02:48 +00:00
|
|
|
tag_name: v${{ steps.version_number.outputs.version }}
|
2024-01-11 00:03:11 +00:00
|
|
|
repository: ${{ github.repository_owner }}/nightly-builds
|
2023-12-10 23:01:42 +00:00
|
|
|
token: ${{ secrets.NIGHTLY_BUILDS }}
|
|
|
|
prerelease: false
|
|
|
|
fail_on_unmatched_files: true
|
|
|
|
files: ${{ steps.build.outputs.dmg }}
|