Skip to content

Move CI to github actions #1

Move CI to github actions

Move CI to github actions #1

Workflow file for this run

name: VSRTL build and test
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest, ubuntu-20.04]
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 Ripes (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