Improve CI & CD for WASM #461
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: Windows | |
| on: | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| build-windows: | |
| strategy: | |
| matrix: | |
| os: [windows-2022] | |
| arch: [Win32, x64] | |
| runs-on: ${{ matrix.os }} | |
| name: ${{ matrix.os }} ${{ matrix.arch }} | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| submodules: true | |
| lfs: true | |
| - name: Init | |
| run: | | |
| mkdir build | |
| - name: Print CPU Info | |
| run: bash -c "cat /proc/cpuinfo" | |
| - name: Build | |
| uses: lukka/run-cmake@v3 | |
| with: | |
| cmakeListsOrSettingsJson: CMakeListsTxtAdvanced | |
| cmakeBuildType: Release | |
| buildWithCMake: true | |
| #cmakeGenerator: VS16Win${{ matrix.arch }} | |
| cmakeAppendedArgs: -G"Visual Studio 17 2022" -A${{ matrix.arch }} -DKIWI_JAVA_BINDING=1 | |
| buildWithCMakeArgs: --config Release | |
| buildDirectory: build | |
| - name: Run Evaluator | |
| run: | | |
| mkdir eval_results | |
| .\build\Release\kiwi-evaluator.exe -m .\models\cong\base -t cong --morph (Get-ChildItem eval_data\*.txt | Select-Object -Expand FullName) -o eval_results\ | |
| .\build\Release\kiwi-evaluator.exe -m .\models\cong\base -t cong-global --morph (Get-ChildItem eval_data\*.txt | Select-Object -Expand FullName) -o eval_results\ | |
| - name: Archive binaries | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Artifacts ${{ matrix.os }} ${{ matrix.arch }}bit | |
| path: | | |
| build\Release\*kiwi* | |
| build\test\Release\*kiwi* | |
| eval_results\*.txt | |
| build\bindings\java\*.jar | |
| - name: Run Unit Test | |
| if: matrix.arch == 'x64' | |
| run: .\build\test\Release\kiwi-test.exe | |
| - name: Run Java Unit Test | |
| if: matrix.arch == 'x64' | |
| run: | | |
| cd bindings/java | |
| curl -OL https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar | |
| curl -OL https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar | |
| javac -cp "*;../../build/bindings/java/*;." -encoding utf-8 test/KiwiTest.java | |
| java -cp "*;../../build/bindings/java/*;." org.junit.runner.JUnitCore test.KiwiTest | |
| - name: Run Benchmark | |
| run: | | |
| curl -OL https://latina.bab2min.pe.kr/_data/kowiki1000.txt | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'none' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'balanced' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'sse2' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| if ( '${{ matrix.arch }}' -eq 'x64' ) | |
| { | |
| $env:KIWI_ARCH_TYPE = 'sse4_1' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'avx2' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'avx512bw' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| } | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out --model-type largest kowiki1000.txt | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out --typo 6 kowiki1000.txt | |
| if ( '${{ matrix.arch }}' -eq 'x64' ) | |
| { | |
| $env:KIWI_ARCH_TYPE = 'sse2' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'sse4_1' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'avx2' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'avx512vnni' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'sse2' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out --model-type largest kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'sse4_1' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out --model-type largest kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'avx2' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out --model-type largest kowiki1000.txt | |
| $env:KIWI_ARCH_TYPE = 'avx512vnni' | |
| .\build\Release\kiwi-cli-*.exe -m .\models\cong\base -e -o test.out --model-type largest kowiki1000.txt | |
| } |