name: Ubuntu 24.04 / Qt 5.15-- on: push: paths-ignore: - scripts/docker/** branches: - master pull_request: paths-ignore: - scripts/docker/** branches: - master jobs: build: runs-on: ubuntu-latest container: image: ubuntu:24.04 steps: - name: checkout sources uses: actions/checkout@v1 - name: get container ready for build env: SUBSURFACE_REPO_PATH: ${{ github.workspace }} run: | echo "--------------------------------------------------------------" echo "update distro and install dependencies" apt-get update apt-get dist-upgrade -y DEBIAN_FRONTEND=noninteractive apt-get install -y -q \ 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 \ mdbtools-dev 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 - 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 run: | echo "--------------------------------------------------------------" echo "building mobile" 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 - name: build subsurface-downloader run: | echo "--------------------------------------------------------------" echo "building downloader" cd .. bash -e -x subsurface/scripts/build.sh -downloader - name: build smtk2ssrf run: | echo "--------------------------------------------------------------" echo "building smtk2ssrf" # build smtk2ssrf (needs the artefacts generated by the subsurface build cd .. bash -e -x subsurface/scripts/smtk2ssrf-build.sh -y