Skip to content

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

ci: run native and portable checks across six concurrent runners

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

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
jobs:
linux:
name: Linux / ${{ matrix.platform }}
strategy:
fail-fast: false
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-full-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-full-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
runs-on: ${{ matrix.runner }}
timeout-minutes: ${{ matrix.timeout }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Install tooling
env:
PLATFORM: ${{ matrix.platform }}
run: scripts/tooling/"$PLATFORM.sh" --ci
- name: Test script orchestration
if: matrix.platform == 'x86_64-linux'
run: |
source "$HOME/.local/share/rscrypto-tooling/environment.sh"
just test-scripts
- name: Check and test
run: |
source "$HOME/.local/share/rscrypto-tooling/environment.sh"
just ci-check
just test --all
just test --all --portable
git diff --exit-code HEAD
windows-aws:
name: Windows / x86_64
runs-on: 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-minutes: 60
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Install tooling, check, and test
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 }