diff options
| author | Loris Cro <kappaloris@gmail.com> | 2022-11-25 19:57:36 +0100 |
|---|---|---|
| committer | Loris Cro <kappaloris@gmail.com> | 2022-11-25 19:57:36 +0100 |
| commit | f1ec438069f2a7c74a8b64b401f86bb97cd5540c (patch) | |
| tree | ccc8e9a12c57603bfcf72ee83846a5e48f1880ab /.github | |
| parent | 7fd34f18c59a2207f0e9a370167f5d0ba834c755 (diff) | |
| download | zig-f1ec438069f2a7c74a8b64b401f86bb97cd5540c.tar.gz zig-f1ec438069f2a7c74a8b64b401f86bb97cd5540c.zip | |
ci: introduce support for manual runs on specific commit & targets
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/ci.yaml | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7a278e070e..cdaab1ca64 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,5 +1,38 @@ name: ci on: + workflow_dispatch: + # Allows launching a CI run on an arbitrary commit + # and also specify only a subset of the targets to test + inputs: + commit: + description: "master branch commit to build" + required: true + default: 'HEAD' + type: string + x86_64-linux-debug: + required: false + default: true + type: boolean + x86_64-linux-release: + required: false + default: true + type: boolean + x86_64-macos: + required: false + default: true + type: boolean + x86_64-windows: + required: false + default: true + type: boolean + aarch64-linux: + required: false + default: true + type: boolean + aarch64-macos: + required: false + default: true + type: boolean pull_request: push: branches: @@ -10,52 +43,76 @@ concurrency: cancel-in-progress: true jobs: x86_64-linux-debug: + if: ${{ github.event_name != 'workflow_dispatch' || inputs["x86_64-linux-debug"] }} runs-on: [self-hosted, Linux, x86_64] steps: - name: Checkout uses: actions/checkout@v3 + - name: Switch to specific commit + if: ${{ github.event_name == 'workflow_dispatch' }} + run: git checkout ${{ inputs.commit }} - name: Build and Test run: sh ./ci/linux/build-x86_64-debug.sh - name: Print Version run: echo "$(build-debug/stage3-debug/bin/zig version)" x86_64-linux-release: + if: ${{ github.event_name != 'workflow_dispatch' || inputs["x86_64-linux-release"] }} runs-on: [self-hosted, Linux, x86_64] steps: - name: Checkout uses: actions/checkout@v3 + - name: Switch to specific commit + if: ${{ github.event_name == 'workflow_dispatch' }} + run: git checkout ${{ inputs.commit }} - name: Build and Test run: sh ./ci/linux/build-x86_64-release.sh x86_64-macos: + if: ${{ github.event_name != 'workflow_dispatch' || inputs["x86_64-macos"] }} runs-on: "macos-11" env: ARCH: "x86_64" steps: - name: Checkout uses: actions/checkout@v3 + - name: Switch to specific commit + if: ${{ github.event_name == 'workflow_dispatch' }} + run: git checkout ${{ inputs.commit }} - name: Build and Test run: ./ci/macos/build-x86_64.sh x86_64-windows: + if: ${{ github.event_name != 'workflow_dispatch' || inputs["x86_64-windows"] }} runs-on: windows-latest env: ARCH: "x86_64" steps: - name: Checkout uses: actions/checkout@v3 + - name: Switch to specific commit + if: ${{ github.event_name == 'workflow_dispatch' }} + run: git checkout ${{ inputs.commit }} - name: Build and Test run: ./ci/windows/build.ps1 aarch64-linux: + if: ${{ github.event_name != 'workflow_dispatch' || inputs["aarch64-linux"] }} runs-on: [self-hosted, Linux, aarch64] steps: - name: Checkout uses: actions/checkout@v3 + - name: Switch to specific commit + if: ${{ github.event_name == 'workflow_dispatch' }} + run: git checkout ${{ inputs.commit }} - name: Build and Test run: sh ./ci/linux/build-aarch64.sh aarch64-macos: + if: ${{ github.event_name != 'workflow_dispatch' || inputs["aarch64-macos"] }} runs-on: [self-hosted, macOS, aarch64] env: ARCH: "aarch64" steps: - name: Checkout uses: actions/checkout@v3 + - name: Switch to specific commit + if: ${{ github.event_name == 'workflow_dispatch' }} + run: git checkout ${{ inputs.commit }} - name: Build and Test run: ./ci/macos/build-aarch64.sh |
