Skip to content

Add ARM NEON support for FirstNonZeroLane #120

Add ARM NEON support for FirstNonZeroLane

Add ARM NEON support for FirstNonZeroLane #120

name: Build
on:
push:
paths:
- '**/*.swift'
- '**/*.cpp'
- '**/*.mm'
- '**/*.m'
- '**/*.h'
- '*.xcodeproj/**'
- '*.xcworkspace/**'
- '.github/workflows/continuous-integration-workflow-xcode-latest.yml'
- '!Source/Data/**'
pull_request:
paths:
- '**/*.swift'
- '**/*.cpp'
- '**/*.mm'
- '**/*.m'
- '**/*.h'
- '*.xcodeproj/**'
- '*.xcworkspace/**'
- '.github/workflows/continuous-integration-workflow-xcode-latest.yml'
- '!Source/Data/**'
jobs:
build:
name: Build and Test with Xcode
strategy:
matrix:
os: [macos-15, macos-26]
runs-on: ${{ matrix.os }}
# env:
# DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v6
with:
python-version: '3.12'
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "^26.1.1"
- name: Build McBopomofoLMLibTest
run: cmake -DENABLE_TEST=1 -S . -B build
working-directory: Source/Engine
- name: Run McBopomofoLMLibTest
run: make runMcBopomofoLMLibTest
working-directory: Source/Engine/build
- name: Build MandarinTest
run: cmake -DENABLE_TEST=1 -S . -B build
working-directory: Source/Engine/Mandarin
- name: Run MandarinTest
run: make runMandarinTest
working-directory: Source/Engine/Mandarin/build
- name: Build Gramambular2Test
run: cmake -DENABLE_TEST=1 -S . -B build
working-directory: Source/Engine/gramambular2
- name: Run Gramambular2Test
run: make runGramambular2Test
working-directory: Source/Engine/gramambular2/build
- name: Test CandidateUI
run: swift test --enable-code-coverage
working-directory: Packages/CandidateUI
- name: Test OpenCCBridge
run: swift test --enable-code-coverage
working-directory: Packages/OpenCCBridge
- name: Test BopomofoBraille
run: swift test --enable-code-coverage
working-directory: Packages/BopomofoBraille
- name: Test NSStringUtils
run: swift test --enable-code-coverage
working-directory: Packages/NSStringUtils
- name: Test ChineseNumbers
run: swift test --enable-code-coverage
working-directory: Packages/ChineseNumbers
- name: Test RomanNumbers
run: swift test --enable-code-coverage
working-directory: Packages/RomanNumbers
- name: Clean McBopomofo for testing
run: xcodebuild -scheme McBopomofo -configuration Debug clean
- name: Test McBopomofo
run: xcodebuild -scheme McBopomofo -configuration Debug test
- name: Clean McBopomofo
run: xcodebuild -scheme McBopomofo -configuration Release clean
- name: Clean McBopomofoInstaller
run: xcodebuild -scheme McBopomofoInstaller -configuration Release clean
- name: Build McBopomofo
run: xcodebuild -scheme McBopomofo -configuration Release build
- name: Build McBopomofoInstaller
run: xcodebuild -scheme McBopomofoInstaller -configuration Release build
- name: Test data files
run: make check
working-directory: Source/Data
- name: "Collect test results"
if: github.event_name == 'push'
run: bash .github/collect_swift_coverage.sh
- name: Create commit comment
if: github.event_name == 'push'
uses: peter-evans/commit-comment@v4
with:
body-path: 'codecov_comment.md'