Skip to content

CI build by github actions #48

CI build by github actions

CI build by github actions #48

Workflow file for this run

name: CI_build
on: [push, pull_request]
jobs:
build_windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Ninja"]
steps:
- name: Install openssl dev
run: |
choco install openssl --version=3.3.1
choco install ninja
- name: Add nmake
uses: ilammy/msvc-dev-cmd@v1
- name: Checkout repo
uses: actions/checkout@v4
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.7.*'
modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity qtimageformats'
setup-python: 'false'
- name: generate cmake
run: |
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -B _build
- name: build cmake
run: |
cmake --build _build --config ${{ matrix.build_configuration }} --target package
cmake --install _build
- name: run ctest
run: |
ctest --test-dir _build --output-on-failure -C "${{ matrix.build_configuration }}"
build_linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Unix Makefiles"]
steps:
- uses: actions/checkout@v4
- name: Install packages via apt
run: |
sudo apt update -qq && sudo apt install -y cmake pkg-config libssl-dev libudev-dev libhttp-parser-dev libpcsclite-dev libgl1-mesa-dev qt6-l10n-tools
# ubuntu 22.04 comes just with QT 6.2.4 and Qt >= 6.4 is required
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.7.1'
modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity'
setup-python: 'false'
- name: generate cmake
run: |
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -B _build
- name: build cmake
run: |
cmake --build _build --config ${{ matrix.build_configuration }} --target package
sudo cmake --install _build
- name: run ctest
run: |
ctest --test-dir _build --output-on-failure -C "${{ matrix.build_configuration }}"
build_macos:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Unix Makefiles"]
steps:
- uses: actions/checkout@v4
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.7.1'
modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity qtimageformats'
setup-python: 'false'
- name: generate cmake
run: |
export OPENSSL_ROOT=/usr/local/opt/openssl/bin
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig/
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -B _build
- name: build cmake
run: |
cmake --build _build --config ${{ matrix.build_configuration }}
- name: run ctest
run: |
ctest --test-dir _build --output-on-failure -C "${{ matrix.build_configuration }}"