mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 13:10:19 +00:00
c1bfded4a7
Add a GitHub action that builds the docker image to run builds for the Windows (MXE) version of Subsurface. Also update the MXE image Dockerfile to the latest version of MXE, and add a patch to use a current version of mdbtools. Configure GitHub actions that do not build docker images to not trigger on changes to the contents of `scripts/docker/`. Signed-off-by: Michael Keller <github@ike.ch>
85 lines
2.9 KiB
YAML
85 lines
2.9 KiB
YAML
name: Ubuntu 20.04 / Qt 5.12--
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- scripts/docker/**
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths-ignore:
|
|
- scripts/docker/**
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
buildUbuntuFocal:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ubuntu:20.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
|
|
|