From 57531d6e546ae72e029d88468cb96ca63af15f83 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Fri, 12 Apr 2024 14:09:48 +0800 Subject: [PATCH 1/9] Add CI test for Windows with GitHub actions --- .github/workflows/windows-x64.yaml | 49 ++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/windows-x64.yaml diff --git a/.github/workflows/windows-x64.yaml b/.github/workflows/windows-x64.yaml new file mode 100644 index 0000000..9d2b52f --- /dev/null +++ b/.github/workflows/windows-x64.yaml @@ -0,0 +1,49 @@ +name: windows-x64 + +on: + push: + branches: + - master + + pull_request: + branches: + - master + + workflow_dispatch: + +concurrency: + group: windows-x64-${{ github.ref }} + cancel-in-progress: true + +jobs: + windows_x64: + name: Windows x64 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [windows-latest] + build_type: [Release, Debug] + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Configure CMake + shell: bash + run: | + cmake --version + + mkdir build + cd build + cmake -A x64 -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=./install .. + + - name: Build openfst for Windows x64 + shell: bash + run: | + cd build + cmake --build . --config Release -- -m:2 + cmake --build . --config Release --target install -- -m:2 + + ls -lh ./bin/Release/sherpa-onnx.exe From 3ac85e463b90eba042d33b2d54ceb75d5aeb1144 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Fri, 12 Apr 2024 14:26:32 +0800 Subject: [PATCH 2/9] minor fixes --- .github/workflows/windows-x64.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/windows-x64.yaml b/.github/workflows/windows-x64.yaml index 9d2b52f..f934ca7 100644 --- a/.github/workflows/windows-x64.yaml +++ b/.github/workflows/windows-x64.yaml @@ -45,5 +45,3 @@ jobs: cd build cmake --build . --config Release -- -m:2 cmake --build . --config Release --target install -- -m:2 - - ls -lh ./bin/Release/sherpa-onnx.exe From ecbb347c88b7b1bc5e709d32dbd92e0c82e86cc6 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Mon, 22 Apr 2024 16:28:04 +0800 Subject: [PATCH 3/9] show cmake help --- .github/workflows/windows-x64.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/windows-x64.yaml b/.github/workflows/windows-x64.yaml index f934ca7..f36718e 100644 --- a/.github/workflows/windows-x64.yaml +++ b/.github/workflows/windows-x64.yaml @@ -30,6 +30,12 @@ jobs: with: fetch-depth: 0 + - name: CMake version + shell: bash + run: | + cmake --version + cmake --help + - name: Configure CMake shell: bash run: | From f6c055108d413c90ebad63a028b7942501dbcce6 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Mon, 22 Apr 2024 16:59:30 +0800 Subject: [PATCH 4/9] fix comments --- .github/workflows/windows-x64.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows-x64.yaml b/.github/workflows/windows-x64.yaml index f36718e..5bca5a2 100644 --- a/.github/workflows/windows-x64.yaml +++ b/.github/workflows/windows-x64.yaml @@ -4,10 +4,14 @@ on: push: branches: - master + - alpha + - preflight pull_request: branches: - master + - alpha + - preflight workflow_dispatch: @@ -43,7 +47,7 @@ jobs: mkdir build cd build - cmake -A x64 -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=./install .. + cmake -G Ninja -A x64 -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=./install .. - name: Build openfst for Windows x64 shell: bash From de964e2a63d1c4503ca5cf0bf0f6889421ebbf10 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Mon, 22 Apr 2024 17:07:22 +0800 Subject: [PATCH 5/9] remove ninja --- .github/workflows/windows-x64.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows-x64.yaml b/.github/workflows/windows-x64.yaml index 5bca5a2..c0506cb 100644 --- a/.github/workflows/windows-x64.yaml +++ b/.github/workflows/windows-x64.yaml @@ -47,7 +47,7 @@ jobs: mkdir build cd build - cmake -G Ninja -A x64 -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=./install .. + cmake -A x64 -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=./install .. - name: Build openfst for Windows x64 shell: bash From c9f2bdf4ef5d9156f8396775c5cdccac6e7c22c8 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Tue, 23 Apr 2024 12:38:42 +0800 Subject: [PATCH 6/9] Fixes after review --- .github/workflows/windows-x64.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/windows-x64.yaml b/.github/workflows/windows-x64.yaml index c0506cb..048c57f 100644 --- a/.github/workflows/windows-x64.yaml +++ b/.github/workflows/windows-x64.yaml @@ -35,22 +35,22 @@ jobs: fetch-depth: 0 - name: CMake version - shell: bash + shell: cmd run: | cmake --version cmake --help - name: Configure CMake - shell: bash + shell: cmd run: | cmake --version mkdir build cd build - cmake -A x64 -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=./install .. + cmake -G Ninja -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=./install .. - name: Build openfst for Windows x64 - shell: bash + shell: cmd run: | cd build cmake --build . --config Release -- -m:2 From 5cd98d85b0cd5b22c20dd993f740cfe730c61f45 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Tue, 23 Apr 2024 13:38:00 +0800 Subject: [PATCH 7/9] switch to bash --- .github/workflows/windows-x64.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/windows-x64.yaml b/.github/workflows/windows-x64.yaml index 048c57f..f006b5e 100644 --- a/.github/workflows/windows-x64.yaml +++ b/.github/workflows/windows-x64.yaml @@ -35,13 +35,13 @@ jobs: fetch-depth: 0 - name: CMake version - shell: cmd + shell: bash run: | cmake --version cmake --help - name: Configure CMake - shell: cmd + shell: bash run: | cmake --version @@ -50,7 +50,7 @@ jobs: cmake -G Ninja -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=./install .. - name: Build openfst for Windows x64 - shell: cmd + shell: bash run: | cd build cmake --build . --config Release -- -m:2 From 95fe0bc054cef8ce10732341bc069d9f55f31149 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Tue, 23 Apr 2024 13:39:35 +0800 Subject: [PATCH 8/9] install Ninja --- .github/workflows/windows-x64.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/windows-x64.yaml b/.github/workflows/windows-x64.yaml index f006b5e..ce9b7db 100644 --- a/.github/workflows/windows-x64.yaml +++ b/.github/workflows/windows-x64.yaml @@ -34,6 +34,16 @@ jobs: with: fetch-depth: 0 + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.8" + + - name: Install Python dependencies + shell: bash + run: | + pip install ninja + - name: CMake version shell: bash run: | From a415140bfc129d32163708189f7a17e86537ed55 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Tue, 23 Apr 2024 13:41:17 +0800 Subject: [PATCH 9/9] use -j for parallel build --- .github/workflows/windows-x64.yaml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/windows-x64.yaml b/.github/workflows/windows-x64.yaml index ce9b7db..4e99704 100644 --- a/.github/workflows/windows-x64.yaml +++ b/.github/workflows/windows-x64.yaml @@ -40,18 +40,23 @@ jobs: python-version: "3.8" - name: Install Python dependencies - shell: bash + shell: cmd run: | pip install ninja - - name: CMake version + - name: Show ninja help shell: bash + run: | + ninja --help || true + + - name: CMake version + shell: cmd run: | cmake --version cmake --help - name: Configure CMake - shell: bash + shell: cmd run: | cmake --version @@ -60,8 +65,8 @@ jobs: cmake -G Ninja -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=./install .. - name: Build openfst for Windows x64 - shell: bash + shell: cmd run: | cd build - cmake --build . --config Release -- -m:2 - cmake --build . --config Release --target install -- -m:2 + cmake --build . --config Release -- -j 6 + cmake --build . --config Release --target install -- -j 6