summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2019-12-30 11:23:30 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-12-30 17:43:31 -0800
commit2f5d37e86ecea25e0030735bed3015f79d428092 (patch)
tree47ad41d2f3a3af1705492cf34da6d49888d67a98 /.github/workflows
parentf788311b298abd4190e2ae98204171d8e05d11d8 (diff)
downloadsubsurface-2f5d37e86ecea25e0030735bed3015f79d428092.tar.gz
GitHub Actions: add Ubuntu 19.10 / Qt 5.12 build
And run tests for desktop and mobile. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/linux-eoan-5.12.yml24
-rw-r--r--.github/workflows/scripts/ubuntu-in-container-build.sh49
2 files changed, 73 insertions, 0 deletions
diff --git a/.github/workflows/linux-eoan-5.12.yml b/.github/workflows/linux-eoan-5.12.yml
new file mode 100644
index 000000000..4bd71d443
--- /dev/null
+++ b/.github/workflows/linux-eoan-5.12.yml
@@ -0,0 +1,24 @@
+name: Linux Qt 5.12 Ubuntu 19.10
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ buildInContainer:
+ runs-on: ubuntu-latest
+ container:
+ image: ubuntu:19.10
+
+ steps:
+ - name: checkout sources
+ uses: actions/checkout@v1
+
+ - name: run build
+ run: |
+ cd ..
+ bash -x subsurface/.github/workflows/scripts/ubuntu-in-container-build.sh
+
diff --git a/.github/workflows/scripts/ubuntu-in-container-build.sh b/.github/workflows/scripts/ubuntu-in-container-build.sh
new file mode 100644
index 000000000..e5bb7acfb
--- /dev/null
+++ b/.github/workflows/scripts/ubuntu-in-container-build.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+# this is used to do a standard build of Subsurface (including tests) in a "random"
+# Ubuntu container (I assume we will keep moving this to the latest Ubuntu)
+
+set -x
+set -e
+
+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-default 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
+
+echo "--------------------------------------------------------------"
+echo "building mobile"
+
+# first make sure that no one broke Subsurface-mobile
+bash -e -x subsurface/scripts/build.sh -mobile
+
+echo "--------------------------------------------------------------"
+echo "running tests for mobile"
+
+pushd subsurface/build-mobile
+xvfb-run --auto-servernum make check
+popd
+
+echo "--------------------------------------------------------------"
+echo "building desktop"
+
+# now build for the desktop version (including WebKit)
+bash -e -x subsurface/scripts/build.sh -desktop -build-with-webkit
+
+echo "--------------------------------------------------------------"
+echo "running tests for desktop"
+pushd subsurface/build
+xvfb-run --auto-servernum make check
+popd
+