73 lines
1.8 KiB
YAML
73 lines
1.8 KiB
YAML
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"
|