summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikhil Dabas <ndabas@gmail.com>2023-02-07 21:28:29 +0530
committerGitHub <noreply@github.com>2023-02-07 16:58:29 +0100
commit2d9083b2608bd60c31583193d321d13a81a75beb (patch)
tree31e9d5b8b48594ea6eca1ff210dffedff1affa18
parent6092940b12dd6ef4fba895421426633d321814b6 (diff)
downloadninja-2d9083b2608bd60c31583193d321d13a81a75beb.tar.gz
Clean up Windows workflow and add an x86 build (#2251)
* Clean up Windows workflow, add support for x86 * Sensible naming for artifacts No suffix for the x64 version, as that was the default already. * Remove x86 build from Windows workflow
-rw-r--r--.github/workflows/windows.yml59
1 files changed, 15 insertions, 44 deletions
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index 5ef1494..b6ec2ac 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -10,6 +10,15 @@ jobs:
build:
runs-on: windows-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - arch: 'x64'
+ suffix: ''
+ - arch: 'arm64'
+ suffix: 'arm64'
+
steps:
- uses: actions/checkout@v2
@@ -19,15 +28,17 @@ jobs:
- name: Build ninja
shell: bash
run: |
- cmake -Bbuild
+ cmake -Bbuild -A ${{ matrix.arch }}
cmake --build build --parallel --config Debug
cmake --build build --parallel --config Release
- name: Test ninja (Debug)
+ if: matrix.arch != 'arm64'
run: .\ninja_test.exe
working-directory: build/Debug
- name: Test ninja (Release)
+ if: matrix.arch != 'arm64'
run: .\ninja_test.exe
working-directory: build/Release
@@ -35,47 +46,7 @@ jobs:
shell: bash
run: |
mkdir artifact
- 7z a artifact/ninja-win.zip ./build/Release/ninja.exe
-
- # Upload ninja binary archive as an artifact
- - name: Upload artifact
- uses: actions/upload-artifact@v1
- with:
- name: ninja-binary-archives
- path: artifact
-
- - name: Upload release asset
- if: github.event.action == 'published'
- uses: actions/upload-release-asset@v1.0.1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ github.event.release.upload_url }}
- asset_path: ./artifact/ninja-win.zip
- asset_name: ninja-win.zip
- asset_content_type: application/zip
-
- build-arm64:
- runs-on: windows-latest
-
- steps:
- - uses: actions/checkout@v2
-
- - name: Install dependencies
- run: choco install re2c
-
- - name: Build ninja
- shell: bash
- run: |
- cmake -Bbuild -A arm64
- cmake --build build --parallel --config Debug
- cmake --build build --parallel --config Release
-
- - name: Create ninja archive
- shell: bash
- run: |
- mkdir artifact
- 7z a artifact/ninja-winarm64.zip ./build/Release/ninja.exe
+ 7z a artifact/ninja-win${{ matrix.suffix }}.zip ./build/Release/ninja.exe
# Upload ninja binary archive as an artifact
- name: Upload artifact
@@ -91,6 +62,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
- asset_path: ./artifact/ninja-winarm64.zip
- asset_name: ninja-winarm64.zip
+ asset_path: ./artifact/ninja-win${{ matrix.suffix }}.zip
+ asset_name: ninja-win${{ matrix.suffix }}.zip
asset_content_type: application/zip