Skip to content

ci: run native and portable checks across six concurrent runners #11

ci: run native and portable checks across six concurrent runners

ci: run native and portable checks across six concurrent runners #11

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
permissions:
contents: read
env:
CARGO_RAIL_CACHE: "off"
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
jobs:
native:
name: ${{ matrix.platform }}
strategy:
fail-fast: true
matrix:
include:
- platform: x86_64-linux
runner: runs-on=${{ github.run_id }}/family=c7a+c7i+c8a+c8i+m7a+m7i+m8a+m8i/cpu=16+32/ram=32+128/image=ubuntu24-minimal-x64/spot=price-capacity-optimized/volume=150gb:gp3/env=production
timeout: 60
- platform: aarch64-linux
runner: runs-on=${{ github.run_id }}/family=c7g+c8g+m7g+m8g/cpu=16+32/ram=32+128/image=ubuntu24-minimal-arm64/spot=price-capacity-optimized/volume=150gb:gp3/env=production
timeout: 60
- platform: s390x-linux
runner: ubuntu-24.04-s390x
timeout: 90
- platform: powerpc64le-linux
runner: ubuntu-24.04-ppc64le-p10
timeout: 90
- platform: riscv64-linux
runner: ubuntu-24.04-riscv
timeout: 120
- platform: x86_64-win
runner: runs-on=${{ github.run_id }}/family=c7a+c7i+c8a+c8i+m7a+m7i+m8a+m8i/cpu=16+32/ram=32+128/image=windows25-full-x64/spot=price-capacity-optimized/volume=200gb:gp3/env=production
timeout: 60
runs-on: ${{ matrix.runner }}
timeout-minutes: ${{ matrix.timeout }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Install tooling, check, and test (Linux)
if: runner.os == 'Linux'
env:
PLATFORM: ${{ matrix.platform }}
run: |
scripts/tooling/"$PLATFORM.sh" --ci
source "$HOME/.local/share/rscrypto-tooling/environment.sh"
if [[ "$PLATFORM" == x86_64-linux ]]; then just test-scripts; fi
just ci-check
just test --all
just test --all --portable
git diff --exit-code HEAD
- name: Install tooling, check, and test (Windows)
if: runner.os == 'Windows'
shell: powershell
run: |
./scripts/tooling/x86_64-win.ps1 -Ci
just ci-check
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
just test --all
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
just test --all --portable
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
git diff --exit-code HEAD
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }