mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 19:41:30 +00:00
331d6712c6
Move the Qt resources required for the build for MacOS and iOS into GitHub, into their own repositories. This removes the need to publish them on an external file server and download them from there for every build. It will also make it easier for contributors to update these resources if needed. Signed-off-by: Michael Keller <github@ike.ch>
87 lines
2.9 KiB
YAML
87 lines
2.9 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-11
|
|
steps:
|
|
- name: checkout sources
|
|
uses: actions/checkout@v4
|
|
|
|
- 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"
|
|
version=$(cat release-version)
|
|
echo "version=$version" >> $GITHUB_OUTPUT
|
|
|
|
- name: store dummy version and build number for pull request
|
|
id: pull_request_version_number
|
|
if: github.event_name == 'pull_request'
|
|
run: |
|
|
echo "100" > latest-subsurface-buildnumber
|
|
echo "CICD-pull-request" > latest-subsurface-buildnumber-extension
|
|
version=$(scripts/get-version)
|
|
echo "version=$version" >> $GITHUB_OUTPUT
|
|
|
|
- name: setup Homebrew
|
|
run: brew install hidapi libxslt libjpg libmtp create-dmg confuse
|
|
|
|
- name: checkout Qt resources
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: subsurface/qt-mac
|
|
ref: main
|
|
path: qt-mac
|
|
|
|
- name: build Subsurface
|
|
id: build
|
|
run: |
|
|
cd ${GITHUB_WORKSPACE}/..
|
|
export QT_ROOT=${GITHUB_WORKSPACE}/qt-mac/Qt5.15.13
|
|
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 -release -build-deps -ftdi -prep-only
|
|
|
|
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.pull_request_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@v1
|
|
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 }}
|