mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-27 20:58:47 +00:00
CICD: Build Release Versions on Push.
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>
This commit is contained in:
parent
91d8bfef55
commit
1b8ae8397a
13 changed files with 71 additions and 15 deletions
9
.github/workflows/android.yml
vendored
9
.github/workflows/android.yml
vendored
|
@ -11,6 +11,7 @@ on:
|
|||
- scripts/docker/**
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
@ -49,6 +50,12 @@ jobs:
|
|||
VERSION: ${{ steps.version_number.outputs.version }}
|
||||
VERSION_4: ${{ steps.version_number.outputs.version_4 }}
|
||||
run: |
|
||||
BUILD_EXTRA_ARGS=""
|
||||
if [ "${GITHUB_EVENT_NAME}" = "push" ]; then
|
||||
echo "Building a release version"
|
||||
BUILD_EXTRA_ARGS="${BUILD_EXTRA_ARGS} release"
|
||||
fi
|
||||
|
||||
# this is rather awkward, but it allows us to use the preinstalled
|
||||
# Android and Qt versions with relative paths
|
||||
cd ..
|
||||
|
@ -65,7 +72,7 @@ jobs:
|
|||
git config --global --add safe.directory $GITHUB_WORKSPACE/libdivecomputer
|
||||
# get the build number via curl so this works both for a pull request as well as a push
|
||||
export OUTPUT_DIR="$GITHUB_WORKSPACE"
|
||||
bash -x ./subsurface/packaging/android/qmake-build.sh -buildnr $BUILDNR -canonicalversion $VERSION -canonicalversion_4 $VERSION_4
|
||||
bash -x ./subsurface/packaging/android/qmake-build.sh ${BUILD_EXTRA_ARGS} -buildnr $BUILDNR -canonicalversion $VERSION -canonicalversion_4 $VERSION_4
|
||||
|
||||
- name: delete the keystore
|
||||
if: github.event_name == 'push'
|
||||
|
|
9
.github/workflows/ios.yml.disabled
vendored
9
.github/workflows/ios.yml.disabled
vendored
|
@ -11,6 +11,7 @@ on:
|
|||
- scripts/docker/**
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
@ -45,12 +46,18 @@ jobs:
|
|||
env:
|
||||
VERSION: ${{ 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 ..
|
||||
git config --global --add safe.directory $GITHUB_WORKSPACE
|
||||
git config --global --add safe.directory $GITHUB_WORKSPACE/libdivecomputer
|
||||
export IOS_QT=$GITHUB_WORKSPACE/qt-ios
|
||||
echo "build for simulator"
|
||||
bash -x $GITHUB_WORKSPACE/packaging/ios/build.sh -simulator
|
||||
bash -x $GITHUB_WORKSPACE/packaging/ios/build.sh -simulator ${BUILD_EXTRA_ARGS}
|
||||
# We need this in order to be able to access the file and publish it
|
||||
mv build-Subsurface-mobile-Qt_5_14_1_for_iOS-Release/Release-iphonesimulator/Subsurface-mobile.app $GITHUB_WORKSPACE/Subsurface-mobile-$VERSION.app
|
||||
|
||||
|
|
8
.github/workflows/linux-debian-generic.yml
vendored
8
.github/workflows/linux-debian-generic.yml
vendored
|
@ -71,9 +71,15 @@ jobs:
|
|||
echo "--------------------------------------------------------------"
|
||||
echo "building desktop"
|
||||
|
||||
BUILD_EXTRA_ARGS=""
|
||||
if [ "${GITHUB_EVENT_NAME}" = "push" ]; then
|
||||
echo "Building a release version"
|
||||
BUILD_EXTRA_ARGS="${BUILD_EXTRA_ARGS} -release"
|
||||
fi
|
||||
|
||||
# now build for the desktop version (including WebKit)
|
||||
cd ..
|
||||
bash -e -x subsurface/scripts/build.sh -desktop -build-with-webkit
|
||||
bash -e -x subsurface/scripts/build.sh -desktop -build-with-webkit ${BUILD_EXTRA_ARGS}
|
||||
|
||||
- name: test desktop build
|
||||
run: |
|
||||
|
|
|
@ -11,6 +11,7 @@ on:
|
|||
- scripts/docker/**
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
do-build-test:
|
||||
|
|
9
.github/workflows/linux-fedora-35-qt6.yml
vendored
9
.github/workflows/linux-fedora-35-qt6.yml
vendored
|
@ -11,6 +11,7 @@ on:
|
|||
- scripts/docker/**
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
@ -52,12 +53,18 @@ jobs:
|
|||
echo "--------------------------------------------------------------"
|
||||
echo "building desktop"
|
||||
|
||||
BUILD_EXTRA_ARGS=""
|
||||
if [ "${GITHUB_EVENT_NAME}" = "push" ]; then
|
||||
echo "Building a release version"
|
||||
BUILD_EXTRA_ARGS="${BUILD_EXTRA_ARGS} -release"
|
||||
fi
|
||||
|
||||
# now build for the desktop version (without WebKit)
|
||||
cd ..
|
||||
git config --global --add safe.directory $GITHUB_WORKSPACE
|
||||
git config --global --add safe.directory $GITHUB_WORKSPACE/libdivecomputer
|
||||
git config --global --get-all safe.directory
|
||||
bash -e -x subsurface/scripts/build.sh -desktop -build-with-qt6
|
||||
bash -e -x subsurface/scripts/build.sh -desktop -build-with-qt6 ${BUILD_EXTRA_ARGS}
|
||||
|
||||
- name: test desktop build
|
||||
run: |
|
||||
|
|
|
@ -11,6 +11,7 @@ on:
|
|||
- scripts/docker/**
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
@ -60,9 +61,15 @@ jobs:
|
|||
echo "--------------------------------------------------------------"
|
||||
echo "building desktop"
|
||||
|
||||
BUILD_EXTRA_ARGS=""
|
||||
if [ "${GITHUB_EVENT_NAME}" = "push" ]; then
|
||||
echo "Building a release version"
|
||||
BUILD_EXTRA_ARGS="${BUILD_EXTRA_ARGS} -release"
|
||||
fi
|
||||
|
||||
# now build the appimage
|
||||
cd ..
|
||||
bash -e -x subsurface/scripts/build.sh -desktop -create-appdir -build-with-webkit
|
||||
bash -e -x subsurface/scripts/build.sh -desktop -create-appdir -build-with-webkit ${BUILD_EXTRA_ARGS}
|
||||
|
||||
- name: test desktop build
|
||||
run: |
|
||||
|
|
1
.github/workflows/linux-ubuntu-20.04-qt5.yml
vendored
1
.github/workflows/linux-ubuntu-20.04-qt5.yml
vendored
|
@ -11,6 +11,7 @@ on:
|
|||
- scripts/docker/**
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
do-build-test:
|
||||
|
|
1
.github/workflows/linux-ubuntu-22.04-qt5.yml
vendored
1
.github/workflows/linux-ubuntu-22.04-qt5.yml
vendored
|
@ -11,6 +11,7 @@ on:
|
|||
- scripts/docker/**
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
do-build-test:
|
||||
|
|
1
.github/workflows/linux-ubuntu-24.04-qt5.yml
vendored
1
.github/workflows/linux-ubuntu-24.04-qt5.yml
vendored
|
@ -11,6 +11,7 @@ on:
|
|||
- scripts/docker/**
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
do-build-test:
|
||||
|
|
8
.github/workflows/mac.yml
vendored
8
.github/workflows/mac.yml
vendored
|
@ -44,6 +44,12 @@ jobs:
|
|||
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
|
||||
|
@ -51,7 +57,7 @@ jobs:
|
|||
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
|
||||
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
|
||||
|
|
8
.github/workflows/windows.yml
vendored
8
.github/workflows/windows.yml
vendored
|
@ -47,9 +47,15 @@ jobs:
|
|||
CANONICALVERSION: ${{ steps.version_number.outputs.version }}
|
||||
CANONICALVERSION_4: ${{ steps.version_number.outputs.version_4 }}
|
||||
run: |
|
||||
BUILD_EXTRA_ARGS=""
|
||||
if [ "${GITHUB_EVENT_NAME}" = "push" ]; then
|
||||
echo "Building a release version"
|
||||
BUILD_EXTRA_ARGS="${BUILD_EXTRA_ARGS} -release"
|
||||
fi
|
||||
|
||||
export OUTPUT_DIR="$GITHUB_WORKSPACE"
|
||||
cd /win
|
||||
bash -x subsurface/packaging/windows/in-container-build.sh 2>&1 | tee build.log
|
||||
bash -x subsurface/packaging/windows/in-container-build.sh ${BUILD_EXTRA_ARGS} 2>&1 | tee build.log
|
||||
grep "Built target installer" build.log
|
||||
|
||||
- name: publish pull request artifacts
|
||||
|
|
|
@ -13,9 +13,17 @@ set -e
|
|||
mkdir -p win32
|
||||
cd win32
|
||||
|
||||
BUILD_EXTRA_ARGS="debug"
|
||||
SMTK2SSRF_EXTRA_ARGS="-b debug"
|
||||
if [[ "$1" == "-release" ]]; then
|
||||
BUILD_EXTRA_ARGS=""
|
||||
SMTK2SSRF_BUILD_EXTRA_ARGS="release"
|
||||
shift
|
||||
fi
|
||||
|
||||
# build Subsurface
|
||||
export MXEBUILDTYPE=x86_64-w64-mingw32.shared
|
||||
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer
|
||||
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh ${BUILD_EXTRA_ARGS} installer
|
||||
|
||||
# the strange two step move is in order to get predictable names to use
|
||||
# in the publish step of the GitHub Action
|
||||
|
@ -25,9 +33,9 @@ mv subsurface/"$fullname" ${OUTPUT_DIR}/"${fullname%.exe}-installer.exe"
|
|||
|
||||
# build Subsurface for smtk2ssrf
|
||||
|
||||
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh -noftdi -nolibraw subsurface
|
||||
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh -noftdi -nolibraw ${BUILD_EXTRA_ARGS} subsurface
|
||||
|
||||
bash -ex ../subsurface/packaging/windows/smtk2ssrf-mxe-build.sh -a -i
|
||||
bash -ex ../subsurface/packaging/windows/smtk2ssrf-mxe-build.sh ${SMTK2SSRF_BUILD_EXTRA_ARGS} -a -i
|
||||
|
||||
# the strange two step move is in order to get predictable names to use
|
||||
# in the publish step of the GitHub Action
|
||||
|
|
|
@ -131,7 +131,6 @@ if [[ "$1" == "debug" ]] ; then
|
|||
RELEASE="Debug"
|
||||
RELEASE_MAIN="Debug"
|
||||
RELEASE_GM="debug"
|
||||
DLL_SUFFIX="d"
|
||||
shift
|
||||
if [[ -f Release ]] ; then
|
||||
rm -rf *
|
||||
|
@ -141,7 +140,6 @@ else
|
|||
RELEASE="Release"
|
||||
RELEASE_MAIN="RelWithDebInfo"
|
||||
RELEASE_GM="release"
|
||||
DLL_SUFFIX=""
|
||||
if [[ -f Debug ]] ; then
|
||||
rm -rf *
|
||||
fi
|
||||
|
@ -281,9 +279,9 @@ done
|
|||
|
||||
# for some reason we aren't installing Qt5Xml.dll and Qt5Location.dll
|
||||
# I need to figure out why and fix that, but for now just manually copy that as well
|
||||
EXTRA_MANUAL_DEPENDENCIES="$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5Xml$DLL_SUFFIX.dll \
|
||||
$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5Location$DLL_SUFFIX.dll \
|
||||
$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5QmlWorkerScript$DLL_SUFFIX.dll"
|
||||
EXTRA_MANUAL_DEPENDENCIES="$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5Xml.dll \
|
||||
$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5Location.dll \
|
||||
$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5QmlWorkerScript.dll"
|
||||
|
||||
for f in $EXTRA_MANUAL_DEPENDENCIES
|
||||
do
|
||||
|
|
Loading…
Reference in a new issue