summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander V. Wolf <aw@altspu.ru>2022-05-25 15:52:55 +0700
committerAlexander V. Wolf <aw@altspu.ru>2022-05-25 15:52:55 +0700
commit6c9adbc8b651cc984ec81eb5f4c56ff5d13b8b77 (patch)
tree0277a74e0b38836157b25514d25f8a6ebf641586
parent33a85482dd26938a29047afbd9d50aebcf79cb0a (diff)
[GHA] Added CI with public beta (Ubuntu 22.04 and macOS 12) for testing
-rw-r--r--.github/workflows/ci-beta.yml79
1 files changed, 79 insertions, 0 deletions
diff --git a/.github/workflows/ci-beta.yml b/.github/workflows/ci-beta.yml
new file mode 100644
index 0000000000..c51e92f25f
--- /dev/null
+++ b/.github/workflows/ci-beta.yml
@@ -0,0 +1,79 @@
+#
+# Implementation of Continuous Integration process for linux and macOS by Github actions (with extra additionals...)
+#
+name: "CI (beta)"
+
+on:
+ push:
+ pull_request:
+ # The branches below must be a subset of the branches above
+ branches: [master]
+
+jobs:
+ # CI on Linux
+ cib-linux:
+ name: "Linux"
+ runs-on: ubuntu-22.04
+ if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
+
+ steps:
+ - name: Install dependencies
+ run: |
+ sudo apt update
+ # using force-overwrite due to
+ # https://github.com/actions/virtual-environments/issues/2703
+ sudo ACCEPT_EULA=Y apt upgrade -o Dpkg::Options::="--force-overwrite" --yes
+ sudo apt install -y qtbase5-dev qtscript5-dev libqt5svg5-dev qttools5-dev-tools qttools5-dev libqt5opengl5-dev qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5 libqt5serialport5-dev qtpositioning5-dev libgps-dev libqt5positioning5 libqt5positioning5-plugins qtwebengine5-dev libqt5charts5-dev zlib1g-dev libgl1-mesa-dev libdrm-dev cmake
+
+ - name: Checkout repository
+ uses: actions/checkout@v3
+
+ - name: Configure CMake
+ shell: bash
+ run: |
+ mkdir -p build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_TESTING=On ${{ github.workspace }}
+
+ - name: Compile
+ working-directory: build
+ run: make -j3
+
+ - name: Run unit tests
+ uses: GabrielBB/xvfb-action@v1
+ with:
+ working-directory: build
+ run: ctest --output-on-failure
+
+ # CI on macOS
+ cib-macos:
+ name: "macOS"
+ runs-on: macos-12
+ if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
+
+ # @TODO Enable gpsd on macOS instance for CI testing
+ # @BODY At the moment after installing gpsd (brew install gpsd) library can be found by cmake, but not headers! Apparently we should add some magic for environment variables or something else on macOS Catalina to make headers available for cmake/make
+ steps:
+ - name: Install dependencies
+ run: brew install qt@5
+
+ - name: Checkout repository
+ uses: actions/checkout@v3
+
+ - name: Configure CMake
+ shell: bash
+ run: |
+ export PATH="/usr/local/opt/qt@5/bin:$PATH"
+ mkdir -p build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_TESTING=On ${{ github.workspace }}
+
+ - name: Compile
+ working-directory: build
+ run: make -j3
+
+ - name: Run unit tests
+ uses: GabrielBB/xvfb-action@v1
+ with:
+ working-directory: build
+ run: ctest --output-on-failure