WIP #35
Workflow file for this run
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: CI | |
on: [push, pull_request] | |
env: | |
CXXFLAGS: "-Wall -Wextra -Werror" # make CI fail on warnings | |
MAKEFLAGS: "-j8" | |
jobs: | |
macos: | |
name: "${{ matrix.runner }}" | |
runs-on: "${{ matrix.runner }}" | |
strategy: | |
matrix: | |
include: | |
# Note: Nosetest doesn't work anymore with recent Python versions! | |
- {runner: "macos-12", nosetests: 0} | |
- {runner: "macos-14", nosetests: 0} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install requirements | |
run: | | |
brew install qt@5 | |
brew link --force qt@5 | |
export PATH="/opt/homebrew/opt/qt@5/bin:$PATH" | |
pip3 install setuptools flake8 | |
export PATH="$PATH:`python3 -m site --user-base`/bin" | |
# Stylecheck | |
- name: Flake8 | |
run: python3 -m flake8 client/funq server/funq_server | |
# Server | |
- name: Install server | |
run: cd server && python3 setup.py develop | |
- name: Build server tests | |
run: cd server/tests && qmake QMAKE_CXXFLAGS="$CXXFLAGS" && make | |
- name: Test server | |
run: make -C server/tests/ check | |
# Client | |
- name: Install client | |
run: cd client && python3 setup.py develop | |
- name: Test client | |
run: cd client && python3 setup.py test | |
if: ${{ matrix.nosetests != 0 }} | |
# Functional tests | |
- name: Build test app | |
run: cd tests-functionnal/funq-test-app && qmake QMAKE_CXXFLAGS="$CXXFLAGS" && make | |
- name: Test functional | |
run: cd tests-functionnal && nosetests | |
if: ${{ matrix.nosetests != 0}} | |
linux: | |
name: "${{ matrix.container }}" | |
runs-on: ubuntu-22.04 | |
container: "${{ matrix.container }}" | |
strategy: | |
matrix: | |
include: | |
# Note: Nosetest doesn't work anymore with recent Python versions! | |
- container: "ubuntu:18.04" | |
packages: "qt5-default qttools5-dev-tools qtdeclarative5-dev qtquickcontrols2-5-dev" | |
nosetests: 1 | |
- container: "ubuntu:20.04" | |
packages: "qt5-default qttools5-dev-tools qtdeclarative5-dev qtquickcontrols2-5-dev" | |
nosetests: 1 | |
- container: "ubuntu:22.04" | |
packages: "qtbase5-dev qttools5-dev-tools qtdeclarative5-dev qtquickcontrols2-5-dev" | |
nosetests: 1 | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install requirements | |
run: | | |
apt-get update | |
apt-get install -y --no-install-recommends \ | |
build-essential xvfb libglu1-mesa-dev \ | |
python3 python3-pip python3-flake8 \ | |
${{ matrix.packages }} | |
# Stylecheck | |
- name: Flake8 | |
run: python3 -m flake8 client/funq server/funq_server | |
# Server | |
- name: Install server | |
run: cd server && python3 setup.py develop | |
- name: Build server tests | |
run: cd server/tests && qmake QMAKE_CXXFLAGS="$CXXFLAGS" && make | |
- name: Test server | |
run: xvfb-run -a make -C server/tests/ check | |
# Client | |
- name: Install client | |
run: cd client && python3 setup.py develop | |
- name: Test client | |
run: cd client && python3 setup.py test | |
if: ${{ matrix.nosetests != 0 }} | |
# Functional tests | |
- name: Build test app | |
run: cd tests-functionnal/funq-test-app && qmake QMAKE_CXXFLAGS="$CXXFLAGS" && make | |
- name: Test functional | |
run: cd tests-functionnal && xvfb-run -a nosetests | |
if: ${{ matrix.nosetests != 0}} |