Skip to content

word: implement UAX #29 Word Boundary segmentation (fixes #6) #721

word: implement UAX #29 Word Boundary segmentation (fixes #6)

word: implement UAX #29 Word Boundary segmentation (fixes #6) #721

Workflow file for this run

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 \
-D LIBUNICODE_BUILD_STATIC=ON
- name: "build"
run: cmake --build build/ -- -j3
- name: "test"
run: ./build/src/libunicode/unicode_test
- name: "Upload unicode-query"
uses: actions/upload-artifact@v4
with:
name: unicode-query-linux-x86_64
path: build/src/tools/unicode-query
# {{{ Ubuntu ARM64
ubuntu_arm64:
name: "Ubuntu ARM64"
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: "ccache-ubuntu_arm64"
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 \
-D LIBUNICODE_BUILD_STATIC=ON
- name: "build"
run: cmake --build build/ -- -j3
- name: "test"
run: ./build/src/libunicode/unicode_test
- name: "Upload unicode-query"
uses: actions/upload-artifact@v4
with:
name: unicode-query-linux-arm64
path: build/src/tools/unicode-query
# }}}
# {{{ macOS
osx:
name: "macOS"
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
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 clang-release -DLIBUNICODE_BUILD_STATIC=ON
- name: "Build"
run: cmake --build --preset clang-release
- name: "Test"
run: ctest --preset clang-release
- name: "Upload unicode-query"
uses: actions/upload-artifact@v4
with:
name: unicode-query-macos-arm64
path: build/clang-release/src/tools/unicode-query
# }}}
windows:
name: "Windows"
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: "Setup MSVC environment"
uses: ilammy/msvc-dev-cmd@v1
- name: "vcpkg: Install dependencies"
uses: lukka/run-vcpkg@v11.1
id: runvcpkg
with:
vcpkgDirectory: ${{ runner.workspace }}/vcpkg/
vcpkgGitCommitId: a20d95d3c76906363896754eb1cc93db2a694f16
- name: "List cmake presets"
run: cmake --list-presets
- name: "Generate build files"
run: cmake --preset cl-release
env:
VCPKG_ROOT: ${{ runner.workspace }}/vcpkg
- name: "Build"
run: cmake --build --preset cl-release
- name: "test"
run: ctest --preset cl-release
- name: "Upload unicode-query"
uses: actions/upload-artifact@v4
with:
name: unicode-query-windows-x86_64
path: build/cl-release/src/tools/unicode-query.exe
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 gcc-debug -DLIBUNICODE_UCD_DIR=/usr/share/unicode/ucd
- name: build
run: cmake --build --preset gcc-debug -j$(nproc)
- name: test
run: |
ctest --preset gcc-debug