CI: Build with Qt SVG #852
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
# vim: sw=2 | |
name: Test | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
jobs: | |
ubuntu-qt5: | |
name: Qt 5.15.2 / Ubuntu 22.04 | |
runs-on: ubuntu-22.04 | |
env: | |
CFLAGS: -fsanitize=address,undefined | |
CXXFLAGS: -fsanitize=address,undefined | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup CMake | |
uses: ./.github/actions/cmake | |
with: | |
qt_version: 5.15.2 | |
use_qt6: OFF | |
modules: qtsvg | |
- name: Build and test | |
uses: ./.github/actions/build-and-test | |
ubuntu-qt6-5: | |
name: Qt 6.5.3 / Ubuntu 22.04 | |
runs-on: ubuntu-22.04 | |
env: | |
CFLAGS: -fsanitize=address,undefined | |
CXXFLAGS: -fsanitize=address,undefined | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup CMake | |
uses: ./.github/actions/cmake | |
with: | |
qt_version: 6.5.3 | |
use_qt6: ON | |
modules: qtserialport qtsvg qtwebsockets | |
- name: Build and test | |
uses: ./.github/actions/build-and-test | |
ubuntu-qt6-7: | |
name: Qt 6.7.3 / Ubuntu 22.04 | |
runs-on: ubuntu-22.04 | |
env: | |
CFLAGS: -fsanitize=address,undefined | |
CXXFLAGS: -fsanitize=address,undefined | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup CMake | |
uses: ./.github/actions/cmake | |
with: | |
qt_version: 6.7.3 | |
qt_arch: linux_gcc_64 | |
use_qt6: ON | |
modules: qtserialport qtsvg qtwebsockets | |
- name: Build and test | |
uses: ./.github/actions/build-and-test | |
windows-mingw: | |
name: Qt 6.5.3 / Windows MinGW | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup CMake | |
uses: ./.github/actions/cmake | |
with: | |
qt_version: 6.5.3 | |
qt_arch: win64_mingw | |
use_qt6: ON | |
modules: qtserialport qtsvg qtwebsockets | |
# Need to get all binaries in the same directory, otherwise the tests can't find the dlls. | |
additional_cmake_args: | | |
-DLIBSHV_WITH_LDAP=OFF \ | |
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY='${{github.workspace}}/build/bin' \ | |
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY='${{github.workspace}}/build/bin' | |
- name: Build and test | |
uses: ./.github/actions/build-and-test | |
windows-msvc: | |
name: Qt 6.5.3 / Windows MSVC | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup CMake | |
uses: ./.github/actions/cmake | |
with: | |
qt_version: 6.5.3 | |
qt_arch: win64_msvc2019_64 | |
use_qt6: ON | |
modules: qtserialport qtsvg qtwebsockets | |
# Need to get all binaries in the same directory, otherwise the tests can't find the dlls. | |
additional_cmake_args: | | |
-DLIBSHV_WITH_LDAP=OFF \ | |
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY='${{github.workspace}}/build/bin' \ | |
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY='${{github.workspace}}/build/bin' | |
- name: Build and test | |
uses: ./.github/actions/build-and-test | |
android: | |
name: Qt 6.7.3 / Android | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup CMake | |
uses: ./.github/actions/cmake | |
with: | |
qt_version: 6.7.3 | |
qt_arch: android_arm64_v8a | |
use_qt6: ON | |
modules: qtserialport qtsvg qtwebsockets | |
additional_cmake_args: -DLIBSHV_WITH_LDAP=OFF | |
- name: Build and test | |
uses: ./.github/actions/build-and-test | |
wasm: | |
name: WebAssembly / Qt 6.6.3 | |
runs-on: ubuntu-22.04 | |
env: | |
emsdk_cache_dir: "emsdk-cache" | |
steps: | |
- name: Clone the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup emsdk cache | |
uses: actions/cache@v4 | |
with: | |
key: emsdk-cache | |
path: ${{ env.emsdk_cache_dir }} | |
- uses: mymindstorm/setup-emsdk@v14 | |
with: | |
version: 3.1.37 | |
actions-cache-folder: ${{ env.emsdk_cache_dir }} | |
- name: Setup CMake | |
uses: ./.github/actions/cmake | |
with: | |
qt_version: 6.6.3 | |
qt_arch: wasm_singlethread | |
use_qt6: ON | |
modules: qtsvg qtwebsockets | |
- name: Build and test | |
uses: ./.github/actions/build-and-test | |
nix: | |
name: Qt 6.6.2 / NixOS | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install Nix | |
uses: cachix/install-nix-action@v20 | |
with: | |
nix_path: nixpkgs=channel:nixos-unstable | |
- name: Build | |
run: nix --experimental-features 'nix-command flakes' build -L . | |
- name: Build Full | |
run: nix --experimental-features 'nix-command flakes' build -L .#full | |
- name: Build CLI | |
run: nix --experimental-features 'nix-command flakes' build -L .#cli | |
- name: Build for clients | |
run: nix --experimental-features 'nix-command flakes' build -L .#forClients | |
- name: Flake check | |
run: nix --experimental-features 'nix-command flakes' flake check . | |
- name: Format | |
run: nix --experimental-features 'nix-command flakes' fmt && git diff --exit-code |