Add benchmark and std::simd #495
Workflow file for this run
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 8", | |
"GCC 9", | |
"GCC 10", | |
"Clang 9", | |
"Clang 10", | |
"Clang 11", | |
"Clang 12" | |
] | |
name: "Ubuntu Linux 20.04 (${{ matrix.compiler }})" | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- 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", | |
"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@v3 | |
- 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: | |
strategy: | |
fail-fast: false | |
name: "Unknown OS" | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- 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" | |
run: OS_OVERRIDE=UNKNOWN ./scripts/install-deps.sh | |
- name: "create build directory" | |
run: mkdir build | |
- name: "cmake" | |
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 | |
windows: | |
name: "Windows" | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: "Fetch embedded dependencies" | |
shell: powershell | |
run: | | |
./scripts/install-deps.ps1 | |
type ./_deps/sources/CMakeLists.txt | |
- name: "vcpkg: Install dependencies" | |
uses: lukka/run-vcpkg@v5 | |
id: runvcpkg | |
with: | |
vcpkgArguments: fmt range-v3 | |
vcpkgDirectory: ${{ runner.workspace }}/vcpkg/ | |
vcpkgGitCommitId: 21fa4ccecfefd96bb16faac4af17fcb900d4f8b3 | |
vcpkgTriplet: x64-windows | |
- name: "create build directory" | |
shell: powershell | |
run: | | |
If (!(Test-Path build)) | |
{ | |
New-Item -ItemType Directory -Force -Path build | |
} | |
- name: "Generate build files" | |
env: | |
WORKSPACE: ${{ runner.workspace }} | |
run: ./scripts/ci-prepare.ps1 | |
- name: "Build" | |
run: cmake --build build/ --config Release | |
- name: "test: libterminal" | |
run: .\build\src\libunicode\Release\unicode_test.exe | |
Fedora: | |
name: Fedora | |
runs-on: ubuntu-22.04 | |
container: fedora:rawhide | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install build dependencies | |
run: | | |
PREPARE_ONLY_EMBEDS=OFF SYSDEP_ASSUME_YES=ON ./scripts/install-deps.sh | |
dnf install -y unicode-ucd | |
- name: CMake build | |
run: | | |
cmake . -G Ninja -B build -DBUILD_SHARED_LIBS=ON -DLIBUNICODE_UCD_DIR=/usr/share/unicode/ucd | |
cmake --build build -j$(nproc) | |
- name: test | |
run: | | |
ctest --test-dir build |