Initial public release #25
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: ci | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.12" | |
| - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 | |
| with: | |
| bun-version: "1.3.13" | |
| - run: pip install -r requirements.txt | |
| - run: pip install ruff==0.15.14 | |
| - run: ruff check . | |
| - run: python -m compileall -q src scripts ar-runtime/scripts | |
| - name: Python tests | |
| run: | | |
| set -o pipefail | |
| python -m pytest tests/ ar-runtime/scripts/tests/ -q -rs | tee /tmp/pytest.log | |
| - name: no test was skipped | |
| run: | | |
| if grep -qE '[0-9]+ skipped' /tmp/pytest.log; then | |
| grep -E '^SKIPPED|skipped' /tmp/pytest.log | |
| exit 1 | |
| fi | |
| - name: ar-runtime MCP preflight contract | |
| working-directory: ar-runtime | |
| run: | | |
| set -u | |
| OPENAI_BASE_URL=https://openai.example.invalid/v1 OPENAI_API_KEY=k \ | |
| ANTHROPIC_BASE_URL=https://anthropic.example.invalid ANTHROPIC_API_KEY=k \ | |
| python ../scripts/render_env.py | |
| env -u GEMINI_BASE_URL -u GEMINI_API_KEY -u GPT_CRITIC_BASE_URL \ | |
| -u GPT_CRITIC_API_KEY -u OPENAI_BASE_URL -u OPENAI_API_KEY \ | |
| -u ANTHROPIC_BASE_URL -u ANTHROPIC_API_KEY -u ANTHROPIC_AUTH_TOKEN \ | |
| ./scripts/ar-preflight-mcp.sh && rc=0 || rc=$? | |
| [ "${rc:-0}" -eq 1 ] | |
| FAKE_SECONDARY_CONFIGURED=1 \ | |
| FAKE_ROLE_CALL_LOG="$RUNNER_TEMP/fake-role-calls.jsonl" \ | |
| AUTORESEARCH_PYTHON="$PWD/scripts/tests/fixtures/fake_role_bridge.py" \ | |
| OPENAI_BASE_URL=https://openai.example.invalid/v1 OPENAI_API_KEY=k \ | |
| ANTHROPIC_BASE_URL=https://anthropic.example.invalid ANTHROPIC_API_KEY=k \ | |
| ./scripts/ar-preflight-mcp.sh | |
| - run: python scripts/check_release_tree.py . --allow-git-worktree | |
| - run: python scripts/check_public_knowledge.py . | |
| - run: python scripts/check_model_references.py | |
| - run: python scripts/render_env.py --check | |
| - run: python scripts/secret_scan.py . | |
| - working-directory: ar-runtime | |
| run: bun install --frozen-lockfile | |
| - working-directory: ar-runtime | |
| run: bun run typecheck | |
| - working-directory: ar-runtime | |
| run: bunx biome check scripts/ar-*.ts | |
| - working-directory: ar-runtime | |
| run: bun test scripts/ar-*.test.ts |