word: implement UAX #29 Word Boundary segmentation (fixes #6) #721
Workflow file for this run
This file contains hidden or 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 \ | |
| -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 |