mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
62477d8c65
- for now all versions start with v6.0 - CICD builds use the monolithic build number as patch level, e.g. v6.0.12345 - local builds use the following algorithm - find the newest commit with a CICD build number that is included in the working tree - count the number of commits in the working tree since that commit - if there are no commits since the last CICD build, the local build version will be v6.0.12345-local - if there are N commits since the last CICD build, it will be v6.0.12345-N-local - test builds in the CICD that don't create artifacts simply use a dummy release in order to not incorrectly increment the build number and also not to waste time and resources by manually checking out the nightly-build repo for each of these builds. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
81 lines
2.8 KiB
YAML
81 lines
2.8 KiB
YAML
name: Ubuntu 22.04 / Qt 5.15--
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
buildUbuntuJammy:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ubuntu:22.04
|
|
|
|
steps:
|
|
- name: checkout sources
|
|
uses: actions/checkout@v1
|
|
|
|
- name: get container ready for build
|
|
run: |
|
|
echo "--------------------------------------------------------------"
|
|
echo "update distro and install dependencies"
|
|
|
|
apt-get update
|
|
apt-get upgrade -y
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y -q --force-yes \
|
|
autoconf automake cmake g++ git libcrypto++-dev libcurl4-gnutls-dev \
|
|
libgit2-dev libqt5qml5 libqt5quick5 libqt5svg5-dev \
|
|
libqt5webkit5-dev libsqlite3-dev libssh2-1-dev libssl-dev libssl-dev \
|
|
libtool libusb-1.0-0-dev libxml2-dev libxslt1-dev libzip-dev make \
|
|
pkg-config qml-module-qtlocation qml-module-qtpositioning \
|
|
qml-module-qtquick2 qt5-qmake qtchooser qtconnectivity5-dev \
|
|
qtdeclarative5-dev qtdeclarative5-private-dev qtlocation5-dev \
|
|
qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools \
|
|
qtquickcontrols2-5-dev xvfb libbluetooth-dev libmtp-dev
|
|
|
|
- name: store dummy version and build number for test build
|
|
run: |
|
|
echo "100" > latest-subsurface-buildnumber
|
|
echo "CICD-test-build" > latest-subsurface-buildnumber-extension
|
|
|
|
- name: build Subsurface-mobile
|
|
env:
|
|
SUBSURFACE_REPO_PATH: ${{ github.workspace }}
|
|
run: |
|
|
echo "--------------------------------------------------------------"
|
|
echo "building mobile"
|
|
git config --global user.email "ci@subsurface-divelog.org"
|
|
git config --global user.name "Subsurface CI"
|
|
git config --global --add safe.directory ${SUBSURFACE_REPO_PATH}
|
|
git config --global --add safe.directory ${SUBSURFACE_REPO_PATH}/libdivecomputer
|
|
cd ..
|
|
bash -e -x subsurface/scripts/build.sh -mobile
|
|
|
|
- name: test mobile build
|
|
run: |
|
|
echo "--------------------------------------------------------------"
|
|
echo "running tests for mobile"
|
|
|
|
cd build-mobile/tests
|
|
# xvfb-run --auto-servernum ./TestGitStorage -v2
|
|
xvfb-run --auto-servernum make check
|
|
|
|
- name: build Subsurface
|
|
run: |
|
|
echo "--------------------------------------------------------------"
|
|
echo "building desktop"
|
|
|
|
# now build for the desktop version (including WebKit)
|
|
cd ..
|
|
bash -e -x subsurface/scripts/build.sh -desktop -build-with-webkit
|
|
|
|
- name: test desktop build
|
|
run: |
|
|
echo "--------------------------------------------------------------"
|
|
echo "running tests for desktop"
|
|
cd build/tests
|
|
# xvfb-run --auto-servernum ./TestGitStorage -v2
|
|
xvfb-run --auto-servernum make check
|
|
|