Skip to content

🐛 only register once #508

🐛 only register once

🐛 only register once #508

Workflow file for this run

name: 👷 Continuous Deployment
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, unlabeled]
workflow_dispatch:
jobs:
BuildQt6:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
qt-version: ['6.6.2']
enable_icons: ['ON', 'OFF']
build_shared: ['ON', 'OFF']
steps:
-
uses: actions/checkout@v4
-
name: ⬇ Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qt-version }}
cache: true
modules: 'qt5compat qtshadertools'
-
name: Enable ninja on ubuntu
if: contains(matrix.os, 'ubuntu')
run: |
sudo apt-get install ninja-build
echo "CMAKE_GENERATOR=Ninja" >> $GITHUB_ENV
-
name: Enable ninja on macOS
if: contains(matrix.os, 'macOS')
run: |
brew install ninja
echo "CMAKE_GENERATOR=Ninja" >> $GITHUB_ENV
-
name: 🔧 CMake
run: |
cmake --version
cmake -E make_directory build
cmake \
-DQATERIAL_ENABLE_TESTS=ON \
-DQATERIAL_ENABLE_ICONS=${{ matrix.enable_icons }} \
-DBUILD_SHARED_LIBS=${{ matrix.build_shared }} \
-DCMAKE_BUILD_TYPE="Release" \
-DCPM_SOURCE_CACHE=.cpm \
-B build \
-S .
shell: bash
-
name: 🔨 Qaterial
run: cmake --build build --target "Qaterial" --config "Release" -j
-
name: 🔨 QaterialTestLoader
run: cmake --build build --target "QaterialTestLoader" --config "Release" -j
-
name: ✅ Unit Tests
run: cd build && ctest --build-config "Release" --progress --verbose --parallel 12
if: "!contains(matrix.os, 'ubuntu')"
-
name: ✅ Unit Tests
run: |
sudo apt install libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-xinerama0 libxcb-keysyms1 libxcb1 libxcb-render-util0 libxcb-randr0
cd build
xvfb-run ctest --build-config "Release" --progress --verbose --parallel 12
if: contains(matrix.os, 'ubuntu')
-
name: 🚀 Install Qaterial
run: cmake --install build --prefix install
if: contains(matrix.build_shared, 'ON')
-
name: ✅ Test install work with find_package
run: |
cmake -E make_directory tests/FindPackageTest/build
cmake \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_INSTALL_PREFIX=install \
-B tests/FindPackageTest/build \
-S tests/FindPackageTest
cmake \
--build tests/FindPackageTest/build \
--target "QaterialFindPackageTest" \
--config "Release" \
-j
shell: bash
if: contains(matrix.build_shared, 'ON')