Skip to content

build: orthonormalize the interface #4287

build: orthonormalize the interface

build: orthonormalize the interface #4287

Workflow file for this run

name: Core Pipeline
concurrency:
group: core-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
on:
# Run on Merge queue
merge_group:
# Run CI for any PRs that target 'main' when they are opened or updated.
pull_request:
branches:
- 'main'
types:
- opened
- synchronize
workflow_call:
jobs:
smoke:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./scripts/install_zig.sh
- run: ./zig/zig build lint
- run: ./zig/zig build check
linux:
uses: ./.github/workflows/linux.yml
clients:
strategy:
matrix:
include:
- { os: 'ubuntu-latest', language: 'dotnet', language_version: '8.0.x' }
- { os: 'ubuntu-latest', language: 'go', language_version: '1.21' }
- { os: 'ubuntu-latest', language: 'java', language_version: '11' }
- { os: 'ubuntu-latest', language: 'java', language_version: '21' }
- { os: 'ubuntu-latest', language: 'node', language_version: '18.x' }
- { os: 'ubuntu-latest', language: 'node', language_version: '20.x' }
- { os: 'windows-latest', language: 'dotnet', language_version: '8.0.x' }
- { os: 'windows-latest', language: 'go', language_version: '1.21' }
- { os: 'windows-latest', language: 'java', language_version: '11' }
- { os: 'windows-latest', language: 'java', language_version: '21' }
- { os: 'windows-latest', language: 'node', language_version: '18.x' }
- { os: 'windows-latest', language: 'node', language_version: '20.x' }
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- if: matrix.language == 'dotnet'
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ matrix.language_version }}
- if: matrix.language == 'go'
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.language_version }}
- if: matrix.language == 'java'
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.language_version }}
distribution: 'temurin'
- if: matrix.language == 'node'
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.language_version }}
- run: ./scripts/install_zig.${{ matrix.os == 'windows-latest' && 'bat' || 'sh' }}
- run: ./zig/zig build scripts -- ci --language=${{ matrix.language }}
# Work around GitHub considering Skipped jobs success for "Require status checks before merging"
# See also:
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging
# https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/troubleshooting-required-status-checks#handling-skipped-but-required-checks
core-pipeline:
if: always()
needs:
- smoke
- linux
- clients
runs-on: ubuntu-latest
steps:
- name: All Core CI Jobs Passed
if: needs.smoke.result == 'success' && needs.linux.result == 'success' && needs.clients.result == 'success'
working-directory: ./
run: exit 0
- name: A Core CI Job Failed
if: needs.smoke.result != 'success' || needs.linux.result != 'success' || needs.clients.result != 'success'
working-directory: ./
run: exit 1