Rename CI file #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: VSRTL build and test | |
on: [push, pull_request] | |
jobs: | |
build-and-test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
build-type: [Release, Debug] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
# Container preparation | |
# Ubuntu | |
- if: contains( matrix.os, 'ubuntu') | |
name: Prepare ubuntu container for build | |
run: | | |
sudo apt-get update | |
sudo apt-get upgrade -y | |
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y -q --force-yes \ | |
automake cmake git wget libfuse2 desktop-file-utils tree xvfb \ | |
build-essential libgl1-mesa-dev libxkbcommon-x11-0 libpulse-dev \ | |
libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 \ | |
libxcb-xinerama0 libxcb-composite0 libxcb-cursor0 libxcb-damage0 \ | |
libxcb-dpms0 libxcb-dri2-0 libxcb-dri3-0 libxcb-ewmh2 libxcb-glx0 \ | |
libxcb-present0 libxcb-randr0 libxcb-record0 libxcb-render0 libxcb-res0 \ | |
libxcb-screensaver0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 \ | |
echo "CC=gcc-9" >> $GITHUB_ENV | |
echo "CXX=g++-9" >> $GITHUB_ENV | |
# Dummy display server for CI tests | |
Xvfb :99 & | |
echo "DISPLAY=:99" >> $GITHUB_ENV | |
# MacOS | |
- if: contains( matrix.os, 'macos') | |
name: Prepare macos container for build | |
run: brew install autoconf automake libtool xz pkg-config libgit2 libjpg libpng libmtp | |
# Windows | |
- if: contains( matrix.os, 'windows') | |
name: Prepare windows container for build | |
uses: ilammy/msvc-dev-cmd@v1 | |
- if: contains( matrix.os, 'windows') | |
uses: seanmiddleditch/gha-setup-ninja@master | |
# Qt installation | |
- if: "!contains(matrix.os, 'windows')" | |
name: install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: '6.5.0' | |
modules: 'qtcharts' | |
install-deps: false | |
- if: contains( matrix.os, 'windows') | |
name: install Qt (Windows) | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: '6.5.0' | |
modules: 'qtcharts' | |
install-deps: false | |
arch: win64_msvc2019_64 | |
# Build VSRTL | |
- if: "!contains(matrix.os, 'windows')" | |
name: build VSRTL | |
run: | | |
cmake \ | |
-DVSRTL_BUILD_TESTS=ON \ | |
-DVSRTL_BUILD_APP=ON \ | |
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ | |
. | |
make -j $(nproc) | |
- if: contains(matrix.os, 'windows') | |
name: build VSRTL (Windows) | |
shell: bash | |
run: | | |
cmake -GNinja \ | |
-DVSRTL_BUILD_TESTS=ON \ | |
-DVSRTL_BUILD_APP=ON \ | |
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ | |
-DCMAKE_C_COMPILER=cl \ | |
-DCMAKE_CXX_COMPILER=cl | |
cmake --build . | |
# Go test | |
- name: Execute tests | |
shell: bash | |
run: | | |
bash .github/workflows/scripts/run_tests.sh |