fix(sdk): openrunner update works on PEP 668 externally-managed hosts… #1345
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: Smoke (E2E) | |
| # Fresh-clone first-run gate (GLA-20 / plan §4). | |
| # | |
| # Boots the docker compose stack from a clean checkout, registers a user via | |
| # the public API, runs the SDK example end-to-end, and asserts the run + a | |
| # logged metric are visible. Mirrors the README quickstart a self-hoster runs. | |
| # | |
| # Flake-budget rule (CEO-acknowledged, GLA-20): | |
| # If the smoke job's flake rate exceeds 5% in week-1 of merge, mark the job | |
| # non-required in branch protection and triage. Do NOT layer job-level | |
| # retries on top of the SDK assertion -- retry policy lives inside | |
| # scripts/smoke.sh on infra-up steps only (the /health/full wait loop), so | |
| # the SDK round-trip stays a single, honest assertion. | |
| on: | |
| pull_request: | |
| branches: [main] | |
| push: | |
| branches: [main] | |
| concurrency: | |
| group: smoke-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| smoke: | |
| name: docker compose + SDK round-trip | |
| runs-on: ubuntu-latest # Linux x86-64 per GLA-20 acceptance criterion | |
| timeout-minutes: 25 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Show docker + compose versions | |
| run: | | |
| docker --version | |
| docker compose version | |
| - name: Run make smoke | |
| env: | |
| # smoke.sh accepts overrides. Health and run timeouts are bumped | |
| # above the local defaults because GitHub-hosted runners have | |
| # slower image-pull + first-request latency than a dev box; a 90s | |
| # SDK budget timed out on the first PR run (rc=124). | |
| SMOKE_HEALTH_TIMEOUT: "300" | |
| SMOKE_RUN_TIMEOUT: "300" | |
| run: make smoke | |
| - name: Upload smoke logs on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: smoke-logs | |
| # `.smoke-logs/` is a dotfile dir; upload-artifact@v4 skips hidden | |
| # files by default (per the v4 changelog). Explicit opt-in needed. | |
| include-hidden-files: true | |
| path: | | |
| .smoke-logs/ | |
| if-no-files-found: ignore | |
| retention-days: 7 |