diff options
author | Alexander V. Wolf <aw@altspu.ru> | 2022-05-25 15:52:55 +0700 |
---|---|---|
committer | Alexander V. Wolf <aw@altspu.ru> | 2022-05-25 15:52:55 +0700 |
commit | 6c9adbc8b651cc984ec81eb5f4c56ff5d13b8b77 (patch) | |
tree | 0277a74e0b38836157b25514d25f8a6ebf641586 | |
parent | 33a85482dd26938a29047afbd9d50aebcf79cb0a (diff) |
[GHA] Added CI with public beta (Ubuntu 22.04 and macOS 12) for testing
-rw-r--r-- | .github/workflows/ci-beta.yml | 79 |
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 |