Add CI check
job for automated gating
#21
Workflow file for this run
This file contains 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
on: | |
push: | |
pull_request: | |
types: [ opened, synchronize, reopened ] | |
schedule: | |
- cron: '0 12 * * 1' | |
jobs: | |
sdist: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: clone repo | |
uses: actions/checkout@v4 | |
- name: build sdist | |
run: | | |
rm -rf dist/ | |
python -m pip install build | |
python -m build --sdist | |
- name: upload sdist artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
path: dist | |
if-no-files-found: error | |
linux: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- spec: cp38-manylinux_x86_64 | |
- spec: cp39-manylinux_x86_64 | |
- spec: cp310-manylinux_x86_64 | |
- spec: cp311-manylinux_x86_64 | |
- spec: cp312-manylinux_x86_64 | |
- spec: cp38-manylinux_aarch64 | |
foreign_arch: true | |
test_args: '{project}/c' | |
- spec: cp39-manylinux_aarch64 | |
foreign_arch: true | |
test_args: '{project}/c' | |
- spec: cp310-manylinux_aarch64 | |
foreign_arch: true | |
test_args: '{project}/c' | |
- spec: cp311-manylinux_aarch64 | |
foreign_arch: true | |
test_args: '{project}/c' | |
- spec: cp312-manylinux_aarch64 | |
foreign_arch: true | |
test_args: '{project}/c' | |
steps: | |
- name: clone repo | |
uses: actions/checkout@v4 | |
macos: | |
defaults: | |
run: | |
shell: ${{ matrix.run_wrapper || 'bash --noprofile --norc -eo pipefail {0}' }} | |
runs-on: ${{ matrix.runs_on || 'macos-11' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# build for x86_64 under the default hosted macOS 10.x x86_64 runner | |
- spec: cp38-macosx_x86_64 | |
steps: | |
- name: clone repo | |
# need to use v2 until we can upgrade the runners on our private Apple Silicon build infra to one that supports node20 | |
uses: actions/checkout@v2 | |
if: ${{ matrix.maybe_skip != 'skip' }} | |
- name: FAIL ON PURPOSE | |
run: | | |
/bin/false | |
if: matrix.spec == 'cp311-manylinux_aarch64' | |
windows: | |
runs-on: windows-2019 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- spec: cp311-win32 | |
- spec: cp312-win32 | |
steps: | |
- name: clone repo | |
uses: actions/checkout@v4 | |
check: | |
if: always() | |
needs: | |
- sdist | |
- linux | |
- macos | |
- windows | |
runs-on: ubuntu-latest | |
steps: | |
- name: Verify all previous jobs succeeded (provides a single check to sample for gating purposes) | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} |