CI-041 sanitize soak-control privacy fixture #880
This file contains hidden or 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
| 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 |