2024-05-07 07:27:42 +00:00
|
|
|
name: Ubuntu 24.04 / Qt 5.15--
|
2021-05-07 18:48:28 +00:00
|
|
|
on:
|
|
|
|
push:
|
2024-01-20 12:07:33 +00:00
|
|
|
paths-ignore:
|
|
|
|
- scripts/docker/**
|
2021-05-07 18:48:28 +00:00
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
pull_request:
|
2024-01-20 12:07:33 +00:00
|
|
|
paths-ignore:
|
|
|
|
- scripts/docker/**
|
2021-05-07 18:48:28 +00:00
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
|
|
|
|
jobs:
|
2024-05-07 07:27:42 +00:00
|
|
|
build:
|
2021-05-07 18:48:28 +00:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
container:
|
2024-05-07 07:27:42 +00:00
|
|
|
image: ubuntu:24.04
|
2021-05-07 18:48:28 +00:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: checkout sources
|
|
|
|
uses: actions/checkout@v1
|
|
|
|
|
|
|
|
- name: get container ready for build
|
2024-03-17 21:33:01 +00:00
|
|
|
env:
|
|
|
|
SUBSURFACE_REPO_PATH: ${{ github.workspace }}
|
2021-05-07 18:48:28 +00:00
|
|
|
run: |
|
|
|
|
echo "--------------------------------------------------------------"
|
|
|
|
echo "update distro and install dependencies"
|
|
|
|
|
|
|
|
apt-get update
|
2024-05-07 07:27:42 +00:00
|
|
|
apt-get dist-upgrade -y
|
|
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y -q \
|
2021-05-07 18:48:28 +00:00
|
|
|
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 \
|
2024-03-18 08:44:08 +00:00
|
|
|
qtquickcontrols2-5-dev xvfb libbluetooth-dev libmtp-dev \
|
|
|
|
mdbtools-dev
|
2021-05-07 18:48:28 +00:00
|
|
|
|
2024-03-17 21:33:01 +00:00
|
|
|
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
|
|
|
|
|
2024-01-05 04:44:31 +00:00
|
|
|
- name: store dummy version and build number for test build
|
|
|
|
run: |
|
|
|
|
echo "100" > latest-subsurface-buildnumber
|
|
|
|
echo "CICD-test-build" > latest-subsurface-buildnumber-extension
|
|
|
|
|
2024-03-17 21:33:01 +00:00
|
|
|
- name: build subsurface-mobile
|
2021-05-07 18:48:28 +00:00
|
|
|
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
|
|
|
|
|
2024-03-18 08:44:08 +00:00
|
|
|
- name: build subsurface
|
2021-05-07 18:48:28 +00:00
|
|
|
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
|
|
|
|
|
2024-03-17 21:33:01 +00:00
|
|
|
- name: build subsurface-downloader
|
|
|
|
run: |
|
|
|
|
echo "--------------------------------------------------------------"
|
|
|
|
echo "building downloader"
|
|
|
|
cd ..
|
|
|
|
bash -e -x subsurface/scripts/build.sh -downloader
|
|
|
|
|
2024-03-18 08:44:08 +00:00
|
|
|
- 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
|