ci: add real Docker runtime smoke validation #27
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: Docker Runtime Smoke | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - ".github/workflows/docker-build-ci.yml" | |
| - "Dockerfile.demo" | |
| - "docker-compose.demo.yml" | |
| - "package.json" | |
| - "package-lock.json" | |
| - "backend/rust/**" | |
| - "backend/python/**" | |
| - "core/**" | |
| - "configs/**" | |
| - "features/**" | |
| - "js-runner/**" | |
| - "observability/**" | |
| - "platform/**" | |
| - "runtime/**" | |
| - "storage/**" | |
| - "src/**" | |
| - "contract/**" | |
| - "scripts/docker-runtime-smoke.*" | |
| - "tests/runtime/dockerRuntimeSmokeValidator.test.mjs" | |
| - "tests/runtime/test_docker_runtime_paths.py" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| docker-runtime-smoke: | |
| name: Controlled-demo runtime smoke | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 35 | |
| steps: | |
| - name: Checkout pull request commit | |
| uses: actions/checkout@v7 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha || github.sha }} | |
| - name: Test smoke response validators | |
| run: node --test tests/runtime/dockerRuntimeSmokeValidator.test.mjs | |
| - name: Build and exercise controlled-demo runtime | |
| env: | |
| SMOKE_DIAGNOSTICS_DIR: ${{ runner.temp }}/omni-docker-smoke-diagnostics | |
| run: bash scripts/docker-runtime-smoke.sh | |
| - name: Upload sanitized failure diagnostics | |
| if: failure() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: docker-runtime-smoke-diagnostics-${{ github.run_id }} | |
| path: ${{ runner.temp }}/omni-docker-smoke-diagnostics | |
| if-no-files-found: error | |
| retention-days: 7 |