Skip to content

feat(text): Directly use the Darwin UI framework instead of relying o… #722

feat(text): Directly use the Darwin UI framework instead of relying o…

feat(text): Directly use the Darwin UI framework instead of relying o… #722

Workflow file for this run

name: CI Test
on:
pull_request:
branches:
- main
paths:
- '.github/workflows/ci.yml'
- 'include/**'
- 'src/**'
- 'module/**'
- 'test/**'
- 'cmake/**'
- 'patches/**'
- 'CMakeLists.txt'
- 'platform/**'
push:
branches:
- main
paths:
- '.github/workflows/ci.yml'
- 'include/**'
- 'src/**'
- 'module/**'
- 'test/**'
- 'cmake/**'
- 'patches/**'
- 'CMakeLists.txt'
- 'platform/**'
jobs:
unittest_test:
runs-on: lynx-ubuntu-22.04-medium
timeout-minutes: 30
permissions:
issues: write
steps:
- name: Python Setup
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Download Source
uses: actions/checkout@v4.2.2
- name: Sync Dependencies
uses: ./.github/actions/sync-deps
- name: Compile Code
run: |
export PATH=$PWD/buildtools/llvm/bin:$PATH
cmake -B out/cmake_host_build -DSKITY_TEST=ON -DSKITY_TEST_COVERAGE=OFF -DSKITY_CODEC_MODULE=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_FLAGS="-fPIC"
cmake --build out/cmake_host_build --target skity_unit_test
- name: Unit Test
run: |
cd out/cmake_host_build/test/ut/
ctest --output-junit test.xml --rerun-failed --output-on-failure
unittest_coverage:
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
issues: write
steps:
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y lcov
- name: Python Setup
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Download Source
uses: actions/checkout@v4.2.2
- name: Sync Dependencies
uses: ./.github/actions/sync-deps
- name: Compile Code
run: |
export PATH=$PWD/buildtools/llvm/bin:$PATH
cmake -B out/cmake_host_build -DSKITY_TEST=ON -DSKITY_TEST_COVERAGE=ON -DSKITY_CODEC_MODULE=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_FLAGS="-fPIC"
cmake --build out/cmake_host_build --target skity_unit_test
- name: Test and Generate Coverage Report
run: |
cd out/cmake_host_build/test/ut/
ctest --output-junit test.xml --rerun-failed --output-on-failure
cd ../../
lcov --capture --directory . --output-file coverage.info
lcov --remove coverage.info '/usr/**/*' 'test/ut/**/*' 'third_party/**/*' 'Library/*' '**/clipper2/*' --output-file coverage.filtered.info
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
token: ${{ secrets.CODECOV_TOKEN }}
disable_search: true
files: out/cmake_host_build/coverage.filtered.info
- name: Upload test results to Codecov
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: "out/cmake_host_build/test/ut"
files: out/cmake_host_build/test/ut/test.xml
android_build_check:
runs-on: lynx-ubuntu-22.04-medium
timeout-minutes: 30
steps:
- name: Python Setup
uses: actions/setup-python@v5
with:
python-version: '3.13'
- uses: actions/setup-java@v4
with:
distribution: 'jetbrains'
java-version: '21'
- name: Download Source
uses: actions/checkout@v4.2.2
- name: Sync Dependencies
run: |
./tools/hab sync -f --target module,ci
- name: Android Build Check
uses: ./.github/actions/pack-android-aar
ios_build_check:
runs-on: lynx-darwin-14-medium
timeout-minutes: 30
steps:
- name: Download Source
uses: actions/checkout@v4.2.2
- name: Install Common Dependencies
uses: ./.github/actions/sync-deps
with:
cache-backend: 'lynx-infra'
- name: Run iOS build
run: |
export PATH=$PATH:$PWD/buildtools/cmake/CMake.app/Contents/bin
echo "PATH=$PATH" >> "$GITHUB_ENV"
cmake -B out/cmake_ios_release -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DCMAKE_SYSTEM_NAME=iOS -DSKITY_MTL_BACKEND=ON -DSKITY_CT_FONT=ON -DSKITY_CODEC_MODULE=OFF
cmake --build out/cmake_ios_release
- name: check build xcframework
uses: ./.github/actions/gen-xcframework
with:
version_suffix: '-test'
wasm_build_check:
runs-on: lynx-ubuntu-22.04-medium
timeout-minutes: 30
steps:
- name: Download Source
uses: actions/checkout@v4.2.2
- name: Sync Dependencies
run: |
./tools/hab sync -f
- name: Install emscripten
uses: ./.github/actions/install-emsdk
with:
emsdk-version-file: './.github/actions/install-emsdk/emsdk-version.txt'
- name: Run Build
run: |
emcmake cmake -B out/cmake_wasm -DSKITY_EXAMPLE=OFF -DSKITY_TEST=OFF -DSKITY_CODEC_MODULE=OFF -DSKITY_LOG=ON
cd out/cmake_wasm
emmake make skity
windows_build_check:
runs-on: lynx-windows-2022-large-verify
timeout-minutes: 30
steps:
- name: Download Source
uses: actions/checkout@v4.2.2
- name: Sync Dependencies
run: |
powershell -File "./tools/hab.ps1" sync -f --target dev,module,ci
- name: Run Build
run: |
./buildtools/cmake/bin/cmake -B out/cmake_host_build -DSKITY_EXAMPLE=ON -DCMAKE_BUILD_TYPE=Debug -DSKITY_CODEC_MODULE=ON -DSKITY_TEST=ON -DCMAKE_POLICY_VERSION_MINIMUM='3.5'
./buildtools/cmake/bin/cmake --build out/cmake_host_build --target skity_unit_test
cd out/cmake_host_build/Debug
./skity_unit_test
osx_metal_golden_test:
runs-on: lynx-darwin-14-medium
timeout-minutes: 30
steps:
- name: Download Source
uses: actions/checkout@v4.2.2
- name: Install Common Dependencies
uses: ./.github/actions/sync-deps
with:
cache-backend: 'lynx-infra'
- name: Build And Test
run: |
export PATH=$PATH:$PWD/buildtools/cmake/CMake.app/Contents/bin
cmake -B out/cmake_golden_test -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DSKITY_MTL_BACKEND=ON -DSKITY_TEST=ON -DSKITY_GOLDEN_GUI=OFF
cmake --build out/cmake_golden_test --target skity_golden_test_shape skity_golden_test_text
export MTL_DEBUG_LAYER=1
export METAL_DEBUG_ERROR_MODE=1
./out/cmake_golden_test/test/golden/skity_golden_test_shape
./out/cmake_golden_test/test/golden/skity_golden_test_text
osx_metal_golden_test_ct:
runs-on: lynx-darwin-14-medium
timeout-minutes: 30
steps:
- name: Download Source
uses: actions/checkout@v4.2.2
- name: Install Common Dependencies
uses: ./.github/actions/sync-deps
with:
cache-backend: 'lynx-infra'
- name: Build And Test
run: |
export PATH=$PATH:$PWD/buildtools/cmake/CMake.app/Contents/bin
cmake -B out/cmake_golden_test -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DSKITY_MTL_BACKEND=ON -DSKITY_TEST=ON -DSKITY_GOLDEN_GUI=OFF -DSKITY_CT_FONT=ON
cmake --build out/cmake_golden_test --target skity_golden_test_text
export MTL_DEBUG_LAYER=1
export METAL_DEBUG_ERROR_MODE=1
./out/cmake_golden_test/test/golden/skity_golden_test_text