WIP: Use avx when available. #614
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: | |
os_version: ['24.04'] | |
name: "Ubuntu ${{ matrix.os_version }}" | |
runs-on: ubuntu-${{ matrix.os_version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1 | |
with: | |
key: "ccache-ubuntu_${{ matrix.os_version }}" | |
max-size: 256M | |
- name: "Update package database" | |
run: sudo apt -q update | |
- name: "install dependencies" | |
run: ./scripts/install-deps.sh | |
- name: "cmake" | |
run: | | |
cmake -S . -B build -G Ninja \ | |
-D CMAKE_BUILD_TYPE="RelWithDebInfo" \ | |
-D LIBUNICODE_BENCHMARK=ON \ | |
-D LIBUNICODE_TESTING=ON | |
- name: "build" | |
run: cmake --build build/ -- -j3 | |
- name: "test" | |
run: ./build/src/libunicode/unicode_test | |
# {{{ macOS | |
osx: | |
name: "macOS" | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ccache-osx_qt${{ steps.set_vars.outputs.QTVER }}-r1 | |
max-size: 256M | |
- name: "Install dependencies" | |
# Sometimes, brew thinks it needs to install from source rather than binary. | |
# For Qt this may take ages (many many hours). Let's not waste our CPU credits here, | |
# and limit the run time. | |
timeout-minutes: 15 | |
run: | | |
set -ex | |
#brew update | |
./scripts/install-deps.sh | |
- name: "Generate build files" | |
run: cmake --preset macos-release | |
- name: "Build" | |
run: cmake --build --preset macos-release | |
- name: "Test" | |
run: ctest --preset macos-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-24.04 | |
container: fedora:latest | |
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: configure | |
run: cmake --preset linux-gcc-debug -DLIBUNICODE_UCD_DIR=/usr/share/unicode/ucd | |
- name: build | |
run: cmake --build --preset linux-gcc-debug -j$(nproc) | |
- name: test | |
run: | | |
ctest --preset linux-gcc-debug |