Skip to content

CI-041 sanitize soak-control privacy fixture #880

CI-041 sanitize soak-control privacy fixture

CI-041 sanitize soak-control privacy fixture #880

name: Fast Harness CI
on:
push:
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
python-harness:
name: python-harness (${{ matrix.os }})
runs-on: ${{ matrix.os }}
env:
EMULEBB_WORKSPACE_ROOT: ${{ github.workspace }}
strategy:
fail-fast: false
matrix:
os:
- windows-2022
- windows-2025-vs2026
steps:
- name: Checkout test harness
uses: actions/checkout@v6
with:
path: repos/emulebb-build-tests
- name: Checkout app source
uses: actions/checkout@v6
with:
repository: emulebb/emulebb
ref: main
path: workspaces/workspace/app/emulebb-main
- name: Checkout tooling docs
uses: actions/checkout@v6
with:
repository: emulebb/emulebb-tooling
path: repos/emulebb-tooling
- name: Checkout build tooling
uses: actions/checkout@v6
with:
repository: emulebb/emulebb-build
path: repos/emulebb-build
- name: Checkout Rust client
uses: actions/checkout@v6
with:
repository: emulebb/emulebb-rust
path: repos/emulebb-rust
# The emulebb-miniupnpc-sys crate's build script compiles the bundled
# MiniUPnP source from repos/third_party/emulebb-miniupnp/miniupnpc, so the
# Rust cargo integration tests need that third-party source materialized.
- name: Checkout MiniUPnP third-party source
uses: actions/checkout@v6
with:
repository: emulebb/emulebb-miniupnp
ref: miniupnpc-master-emule
path: repos/third_party/emulebb-miniupnp
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.12'
- name: Prepare workspace output root
shell: pwsh
run: |
$outputRoot = [System.IO.Path]::GetFullPath((Join-Path $env:EMULEBB_WORKSPACE_ROOT '..\emulebb-output'))
$cargoTargetDir = [System.IO.Path]::GetFullPath((Join-Path $outputRoot 'builds\rust\target'))
New-Item -ItemType Directory -Force -Path $outputRoot | Out-Null
New-Item -ItemType Directory -Force -Path $cargoTargetDir | Out-Null
"EMULEBB_WORKSPACE_OUTPUT_ROOT=$outputRoot" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"CARGO_TARGET_DIR=$cargoTargetDir" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install harness dependencies
working-directory: repos/emulebb-build-tests
run: python -m pip install -e .[dev,live]
- name: Check Rust OpenAPI metadata drift
working-directory: repos/emulebb-build-tests
run: python scripts/check-rust-openapi-routes.py
- name: Run fast harness tests
working-directory: repos/emulebb-build-tests
run: python -m pytest