name: Observatory checks on: [push, pull_request] permissions: contents: read jobs: captures: runs-on: ubuntu-24.04 timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '22' - run: npm test - run: node --check app.js && node --check detail.js browser: runs-on: ubuntu-24.04 timeout-minutes: 15 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.11' - run: python -m pip install -r requirements-dev.txt - name: Exercise both real captures and every primary flow run: | python -m http.server 8000 --bind 127.0.0.1 > /tmp/observatory-http.log 2>&1 & http_pid=$! trap 'kill "$http_pid"' EXIT browser_path="$(command -v google-chrome || command -v chromium)" "$browser_path" --version python verify.py --base http://127.0.0.1:8000 --chromium "$browser_path" python verify-experiments.py --base http://127.0.0.1:8000 --chromium "$browser_path" --out reports-experiments