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
015ac0e459
14 changed files with 71 additions and 17 deletions
9
.github/workflows/android.yml
vendored
9
.github/workflows/android.yml
vendored
|
@ -11,6 +11,7 @@ on:
|
||||||
- scripts/docker/**
|
- scripts/docker/**
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -49,6 +50,12 @@ jobs:
|
||||||
VERSION: ${{ steps.version_number.outputs.version }}
|
VERSION: ${{ steps.version_number.outputs.version }}
|
||||||
VERSION_4: ${{ steps.version_number.outputs.version_4 }}
|
VERSION_4: ${{ steps.version_number.outputs.version_4 }}
|
||||||
run: |
|
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
|
# this is rather awkward, but it allows us to use the preinstalled
|
||||||
# Android and Qt versions with relative paths
|
# Android and Qt versions with relative paths
|
||||||
cd ..
|
cd ..
|
||||||
|
@ -65,7 +72,7 @@ jobs:
|
||||||
git config --global --add safe.directory $GITHUB_WORKSPACE/libdivecomputer
|
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
|
# get the build number via curl so this works both for a pull request as well as a push
|
||||||
export OUTPUT_DIR="$GITHUB_WORKSPACE"
|
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
|
- name: delete the keystore
|
||||||
if: github.event_name == 'push'
|
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/**
|
- scripts/docker/**
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -45,12 +46,18 @@ jobs:
|
||||||
env:
|
env:
|
||||||
VERSION: ${{ steps.version_number.outputs.version }}
|
VERSION: ${{ steps.version_number.outputs.version }}
|
||||||
run: |
|
run: |
|
||||||
|
BUILD_EXTRA_ARGS=""
|
||||||
|
if [ "${GITHUB_EVENT_NAME}" = "push" ]; then
|
||||||
|
echo "Building a release version"
|
||||||
|
BUILD_EXTRA_ARGS="${BUILD_EXTRA_ARGS} -release"
|
||||||
|
fi
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
git config --global --add safe.directory $GITHUB_WORKSPACE
|
git config --global --add safe.directory $GITHUB_WORKSPACE
|
||||||
git config --global --add safe.directory $GITHUB_WORKSPACE/libdivecomputer
|
git config --global --add safe.directory $GITHUB_WORKSPACE/libdivecomputer
|
||||||
export IOS_QT=$GITHUB_WORKSPACE/qt-ios
|
export IOS_QT=$GITHUB_WORKSPACE/qt-ios
|
||||||
echo "build for simulator"
|
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
|
# 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
|
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 "--------------------------------------------------------------"
|
||||||
echo "building desktop"
|
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)
|
# now build for the desktop version (including WebKit)
|
||||||
cd ..
|
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
|
- name: test desktop build
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -11,6 +11,7 @@ on:
|
||||||
- scripts/docker/**
|
- scripts/docker/**
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
do-build-test:
|
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/**
|
- scripts/docker/**
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -52,12 +53,18 @@ jobs:
|
||||||
echo "--------------------------------------------------------------"
|
echo "--------------------------------------------------------------"
|
||||||
echo "building desktop"
|
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)
|
# now build for the desktop version (without WebKit)
|
||||||
cd ..
|
cd ..
|
||||||
git config --global --add safe.directory $GITHUB_WORKSPACE
|
git config --global --add safe.directory $GITHUB_WORKSPACE
|
||||||
git config --global --add safe.directory $GITHUB_WORKSPACE/libdivecomputer
|
git config --global --add safe.directory $GITHUB_WORKSPACE/libdivecomputer
|
||||||
git config --global --get-all safe.directory
|
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
|
- name: test desktop build
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -11,6 +11,7 @@ on:
|
||||||
- scripts/docker/**
|
- scripts/docker/**
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -60,9 +61,15 @@ jobs:
|
||||||
echo "--------------------------------------------------------------"
|
echo "--------------------------------------------------------------"
|
||||||
echo "building desktop"
|
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
|
# now build the appimage
|
||||||
cd ..
|
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
|
- name: test desktop build
|
||||||
run: |
|
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/**
|
- scripts/docker/**
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
do-build-test:
|
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/**
|
- scripts/docker/**
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
do-build-test:
|
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/**
|
- scripts/docker/**
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
do-build-test:
|
do-build-test:
|
||||||
|
|
8
.github/workflows/mac.yml
vendored
8
.github/workflows/mac.yml
vendored
|
@ -44,6 +44,12 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CANONICALVERSION: ${{ steps.version_number.outputs.version }}
|
CANONICALVERSION: ${{ steps.version_number.outputs.version }}
|
||||||
run: |
|
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}/..
|
cd ${GITHUB_WORKSPACE}/..
|
||||||
export QT_ROOT=${GITHUB_WORKSPACE}/qt-mac/Qt5.15.15
|
export QT_ROOT=${GITHUB_WORKSPACE}/qt-mac/Qt5.15.15
|
||||||
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
|
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
|
||||||
|
@ -51,7 +57,7 @@ jobs:
|
||||||
export CMAKE_PREFIX_PATH=$QT_ROOT/lib/cmake
|
export CMAKE_PREFIX_PATH=$QT_ROOT/lib/cmake
|
||||||
|
|
||||||
# now setup Subsurface with WebKit and build the dependencies, using the generic build script
|
# 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"
|
echo "finished initial cmake setup of Subsurface - next build the package"
|
||||||
cd subsurface/build
|
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: ${{ steps.version_number.outputs.version }}
|
||||||
CANONICALVERSION_4: ${{ steps.version_number.outputs.version_4 }}
|
CANONICALVERSION_4: ${{ steps.version_number.outputs.version_4 }}
|
||||||
run: |
|
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"
|
export OUTPUT_DIR="$GITHUB_WORKSPACE"
|
||||||
cd /win
|
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
|
grep "Built target installer" build.log
|
||||||
|
|
||||||
- name: publish pull request artifacts
|
- name: publish pull request artifacts
|
||||||
|
|
|
@ -13,9 +13,17 @@ set -e
|
||||||
mkdir -p win32
|
mkdir -p win32
|
||||||
cd win32
|
cd win32
|
||||||
|
|
||||||
|
BUILD_EXTRA_ARGS="debug"
|
||||||
|
SMTK2SSRF_EXTRA_ARGS="-b debug"
|
||||||
|
if [[ "$1" == "-release" ]]; then
|
||||||
|
BUILD_EXTRA_ARGS=""
|
||||||
|
SMTK2SSRF_BUILD_EXTRA_ARGS="-b release"
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
# build Subsurface
|
# build Subsurface
|
||||||
export MXEBUILDTYPE=x86_64-w64-mingw32.shared
|
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
|
# the strange two step move is in order to get predictable names to use
|
||||||
# in the publish step of the GitHub Action
|
# in the publish step of the GitHub Action
|
||||||
|
@ -27,7 +35,7 @@ mv subsurface/"$fullname" ${OUTPUT_DIR}/"${fullname%.exe}-installer.exe"
|
||||||
|
|
||||||
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh -noftdi -nolibraw subsurface
|
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh -noftdi -nolibraw 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
|
# the strange two step move is in order to get predictable names to use
|
||||||
# in the publish step of the GitHub Action
|
# in the publish step of the GitHub Action
|
||||||
|
|
|
@ -131,7 +131,6 @@ if [[ "$1" == "debug" ]] ; then
|
||||||
RELEASE="Debug"
|
RELEASE="Debug"
|
||||||
RELEASE_MAIN="Debug"
|
RELEASE_MAIN="Debug"
|
||||||
RELEASE_GM="debug"
|
RELEASE_GM="debug"
|
||||||
DLL_SUFFIX="d"
|
|
||||||
shift
|
shift
|
||||||
if [[ -f Release ]] ; then
|
if [[ -f Release ]] ; then
|
||||||
rm -rf *
|
rm -rf *
|
||||||
|
@ -141,7 +140,6 @@ else
|
||||||
RELEASE="Release"
|
RELEASE="Release"
|
||||||
RELEASE_MAIN="RelWithDebInfo"
|
RELEASE_MAIN="RelWithDebInfo"
|
||||||
RELEASE_GM="release"
|
RELEASE_GM="release"
|
||||||
DLL_SUFFIX=""
|
|
||||||
if [[ -f Debug ]] ; then
|
if [[ -f Debug ]] ; then
|
||||||
rm -rf *
|
rm -rf *
|
||||||
fi
|
fi
|
||||||
|
@ -281,9 +279,9 @@ done
|
||||||
|
|
||||||
# for some reason we aren't installing Qt5Xml.dll and Qt5Location.dll
|
# 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
|
# 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 \
|
EXTRA_MANUAL_DEPENDENCIES="$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5Xml.dll \
|
||||||
$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5Location$DLL_SUFFIX.dll \
|
$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5Location.dll \
|
||||||
$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5QmlWorkerScript$DLL_SUFFIX.dll"
|
$BASEDIR/"$MXEDIR"/usr/"$MXEBUILDTYPE"/qt5/bin/Qt5QmlWorkerScript.dll"
|
||||||
|
|
||||||
for f in $EXTRA_MANUAL_DEPENDENCIES
|
for f in $EXTRA_MANUAL_DEPENDENCIES
|
||||||
do
|
do
|
||||||
|
|
|
@ -124,12 +124,10 @@ else
|
||||||
fi
|
fi
|
||||||
case "$RELEASE" in
|
case "$RELEASE" in
|
||||||
debug|Debug) RELEASE=Debug
|
debug|Debug) RELEASE=Debug
|
||||||
DLL_SUFFIX="d"
|
|
||||||
[[ -f Release ]] && rm -rf ./*
|
[[ -f Release ]] && rm -rf ./*
|
||||||
touch Debug
|
touch Debug
|
||||||
;;
|
;;
|
||||||
release|Release) RELEASE=Release
|
release|Release) RELEASE=Release
|
||||||
DLL_SUFFIX=""
|
|
||||||
[[ -f Debug ]] && rm -rf ./*
|
[[ -f Debug ]] && rm -rf ./*
|
||||||
touch Release
|
touch Release
|
||||||
;;
|
;;
|
||||||
|
@ -175,7 +173,7 @@ $BASEDIR/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/platforms"
|
||||||
|
|
||||||
# This comes from subsurface's mxe-based-build.sh. I'm not sure it is necessary
|
# This comes from subsurface's mxe-based-build.sh. I'm not sure it is necessary
|
||||||
# but, well, it doesn't hurt.
|
# but, well, it doesn't hurt.
|
||||||
EXTRA_MANUAL_DEPENDENCIES="$BASEDIR/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin/Qt5Xml$DLL_SUFFIX.dll"
|
EXTRA_MANUAL_DEPENDENCIES="$BASEDIR/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin/Qt5Xml.dll"
|
||||||
|
|
||||||
STAGING_DIR=$BUILDDIR/smtk-import/staging
|
STAGING_DIR=$BUILDDIR/smtk-import/staging
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue