Skip to content

Upgrade Hydra dev dependency #78

Upgrade Hydra dev dependency

Upgrade Hydra dev dependency #78

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Python lint
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up bootstrap Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
- name: Install nox
run: python -m pip install "nox[pbs]>=2024.10,<2026.0"
- name: Run lint
run: nox -s lint
tests:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- name: Python 3.10
runner: ubuntu-latest
python_version: "3.10"
nox_session: compat-3.10
- name: Python 3.11
runner: ubuntu-latest
python_version: "3.11"
nox_session: compat-3.11
- name: Python 3.12
runner: ubuntu-latest
python_version: "3.12"
nox_session: compat-3.12
- name: Python 3.14
runner: ubuntu-latest
python_version: "3.14"
nox_session: compat-3.14
- name: Platform Linux x64
runner: ubuntu-24.04
python_version: "3.13"
nox_session: unit
platform_id: linux-x64
go_tests: true
- name: Platform Linux arm64
runner: ubuntu-24.04-arm
python_version: "3.13"
nox_session: unit
platform_id: linux-arm64
go_tests: true
- name: Platform macOS x64
runner: macos-15-intel
python_version: "3.13"
nox_session: unit
platform_id: macos-x64
go_tests: true
- name: Platform macOS arm64
runner: macos-15
python_version: "3.13"
nox_session: unit
platform_id: macos-arm64
go_tests: true
- name: Platform Windows x64
runner: windows-2025
python_version: "3.13"
nox_session: unit
platform_id: windows-x64
go_tests: true
- name: Platform Windows arm64
runner: windows-11-arm
python_version: "3.13"
nox_session: unit
platform_id: windows-arm64
go_tests: true
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python_version }}
cache: pip
- name: Set up Go
if: ${{ matrix.go_tests == true }}
uses: actions/setup-go@v5
with:
go-version-file: client/go-cli/go.mod
- name: Cache Go client smoke binary
if: ${{ matrix.go_tests == true }}
uses: actions/cache@v4
with:
path: .ci/go-client-smoke
key: go-client-smoke-${{ matrix.platform_id }}-${{ hashFiles('client/go-cli/**', 'tools/build_go_client') }}
- name: Install nox
run: python -m pip install "nox[pbs]>=2024.10,<2026.0"
- name: Set up OpenSSL for Windows arm64 Python dependencies
if: ${{ matrix.platform_id == 'windows-arm64' }}
shell: pwsh
run: |
$vcpkgRoot = Join-Path $env:RUNNER_TEMP "vcpkg"
git clone https://github.com/microsoft/vcpkg $vcpkgRoot
& (Join-Path $vcpkgRoot "bootstrap-vcpkg.bat") -disableMetrics
& (Join-Path $vcpkgRoot "vcpkg.exe") install openssl:arm64-windows-static-md
$opensslRoot = Join-Path $vcpkgRoot "installed\arm64-windows-static-md"
"VCPKG_ROOT=$vcpkgRoot" | Out-File -FilePath $env:GITHUB_ENV -Append
"OPENSSL_DIR=$opensslRoot" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Run Go client tests
if: ${{ matrix.go_tests == true }}
working-directory: client/go-cli
env:
GOCACHE: ${{ runner.temp }}/go-build
run: go test ./...
- name: Run Python compatibility unit suite
if: ${{ matrix.go_tests != true }}
run: nox -s ${{ matrix.nox_session }}
- name: Run platform unit test suite
if: ${{ matrix.go_tests == true }}
env:
ARBITER_GO_CLIENT_SMOKE_OUTDIR: .ci/go-client-smoke
ARBITER_GO_CLIENT_SMOKE_REUSE: "1"
GOCACHE: ${{ runner.temp }}/go-build
run: nox -s ${{ matrix.nox_session }}
website:
name: Website
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: website/package-lock.json
- name: Install website dependencies
working-directory: website
run: npm ci
- name: Build website
working-directory: website
run: npm run build
- name: Upload Pages artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
with:
path: website/build
deploy-website:
name: Deploy website
runs-on: ubuntu-latest
needs:
- lint
- tests
- website
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4