Reworking scan API for more generic (re-)use #548
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
name: Build | |
on: | |
push: | |
paths-ignore: | |
- 'docs/**' | |
- '.github/ISSUE_TEMPLATE/**' | |
- '.github/*.yml' | |
- 'LICENSE.txt' | |
- '*.md' | |
- '*.sh' | |
branches: | |
- master | |
- edge | |
pull_request: | |
branches: | |
- master | |
- edge | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
jobs: | |
ubuntu_matrix: | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: | |
[ | |
"GCC 10", | |
"Clang 10", | |
# (CI related error) "Clang 11", | |
"Clang 12" | |
] | |
name: "Ubuntu Linux 20.04 (${{ matrix.compiler }})" | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
key: "ccache-ubuntu_2004-${{ matrix.compiler }}" | |
max-size: 256M | |
- name: "Update package database" | |
run: sudo apt -q update | |
- name: "install dependencies" | |
env: | |
COMPILER: "${{ matrix.compiler }}" | |
run: ./scripts/install-deps.sh | |
- name: "create build directory" | |
run: mkdir build | |
- name: "cmake" | |
env: | |
COMPILER: "${{ matrix.compiler }}" | |
run: | | |
BUILD_DIR="build" \ | |
CMAKE_BUILD_TYPE="RelWithDebInfo" \ | |
./scripts/ci-prepare.sh | |
- name: "build" | |
run: cmake --build build/ -- -j3 | |
- name: "test" | |
run: ./build/src/libunicode/unicode_test | |
ubuntu_matrix_22: | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: | |
[ | |
"GCC 10", | |
"GCC 13", | |
# (CI related error) "Clang 11", | |
"Clang 15" | |
] | |
# gcc 13 only in github runners and not inside official repo | |
name: "Ubuntu Linux 22.04 (${{ matrix.compiler }})" | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
key: "ccache-ubuntu_2204-${{ matrix.compiler }}" | |
max-size: 256M | |
- name: "Update package database" | |
run: sudo apt -q update | |
- name: "install dependencies" | |
env: | |
COMPILER: "${{ matrix.compiler }}" | |
run: ./scripts/install-deps.sh | |
- name: "create build directory" | |
run: mkdir build | |
- name: "cmake" | |
env: | |
COMPILER: "${{ matrix.compiler }}" | |
run: | | |
BUILD_DIR="build" \ | |
CMAKE_BUILD_TYPE="RelWithDebInfo" \ | |
./scripts/ci-prepare.sh | |
- name: "build" | |
run: cmake --build build/ -- -j3 | |
- name: "test" | |
run: ./build/src/libunicode/unicode_test | |
- name: "benchmark" | |
run: ./build/src/libunicode/libunicode_benchmark | |
unknown_os: | |
name: "Unknown OS" | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
key: "ccache-ubuntu_2004-unknown-os" | |
max-size: 256M | |
- name: "Update package database" | |
run: sudo apt -q update | |
- name: "install dependencies" | |
run: | | |
set -ex | |
sudo apt install -q -y ninja-build gcc build-essential cmake debhelper dpkg-dev g++ libc6-dev | |
OS_OVERRIDE=UNKNOWN ./scripts/install-deps.sh | |
- name: "cmake" | |
run: cmake --preset linux-gcc-release | |
- name: "build" | |
run: cmake --build --preset linux-gcc-release -j3 | |
- name: "test" | |
run: ctest --preset linux-gcc-release | |
windows: | |
name: "Windows" | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "vcpkg: Install dependencies" | |
uses: lukka/[email protected] | |
id: runvcpkg | |
with: | |
vcpkgDirectory: ${{ runner.workspace }}/vcpkg/ | |
vcpkgGitCommitId: 80403036a665cb8fcc1a1b3e17593d20b03b2489 | |
- name: "List cmake presets" | |
run: cmake --list-presets | |
- name: "Generate build files" | |
run: cmake --preset windows-cl-release -DCMAKE_TOOLCHAIN_FILE="${{ runner.workspace }}\vcpkg\scripts\buildsystems\vcpkg.cmake" | |
- name: "Build" | |
run: cmake --build --preset windows-cl-release | |
- name: "test" | |
run: ctest --preset windows-cl-release | |
Fedora: | |
name: Fedora | |
runs-on: ubuntu-22.04 | |
container: fedora:rawhide | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install build dependencies | |
run: | | |
dnf install -y curl | |
PREPARE_ONLY_EMBEDS=OFF SYSDEP_ASSUME_YES=ON ./scripts/install-deps.sh | |
dnf install -y unicode-ucd | |
- name: CMake build | |
run: | | |
cmake --preset linux-gcc-debug -DLIBUNICODE_UCD_DIR=/usr/share/unicode/ucd | |
cmake --build --preset linux-gcc-debug -j$(nproc) | |
- name: test | |
run: | | |
ctest --preset linux-gcc-debug |