name: EetCpp CI on: push: pull_request: permissions: contents: read jobs: build: name: ${{ matrix.name }} runs-on: ${{ matrix.runner }} strategy: fail-fast: false matrix: include: - name: Linux amd64 runner: ubuntu-24.04 package-manager: apt - name: Linux arm64 runner: ubuntu-24.04-arm package-manager: apt - name: macOS amd64 runner: macos-13 package-manager: brew - name: macOS arm64 runner: macos-14 package-manager: brew - name: Windows amd64 runner: windows-2025 package-manager: vcpkg steps: - uses: actions/checkout@v4 - name: Install Linux dependencies if: matrix.package-manager == 'apt' run: | sudo apt-get update sudo apt-get install -y cmake ninja-build pkg-config \ qt6-base-dev libxml2-dev libxmlsec1-dev libssl-dev - name: Install macOS dependencies if: matrix.package-manager == 'brew' run: | brew install cmake ninja pkg-config qt libxml2 libxmlsec1 openssl@3 - name: Install Windows dependencies if: matrix.package-manager == 'vcpkg' shell: pwsh run: | vcpkg install ` qtbase:x64-windows ` libxml2:x64-windows ` xmlsec:x64-windows - name: Configure shell: bash run: | cmake -S . -B build -G Ninja \ -DCMAKE_BUILD_TYPE=Debug \ -DEETCPP_BUILD_PLAYGROUND=ON - name: Build run: cmake --build build --parallel - name: Test run: ctest --test-dir build --output-on-failure - name: Install package run: cmake --install build --prefix "$PWD/install"