Document batch worker flows and harden lock-contention coverage #107
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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - "v*" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| quality: | |
| name: Quality Gates | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install quality dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements-dev.txt | |
| - name: Check formatting | |
| run: python -m ruff format --check . | |
| - name: Run lint checks | |
| run: python -m ruff check . | |
| - name: Validate internal markdown links | |
| run: python scripts/check_internal_links.py --paths README.md docs quickstart client_harness_template | |
| - name: Validate public docs consistency | |
| run: python scripts/check_docs_consistency.py | |
| - name: Validate CI playbook sync | |
| run: python scripts/check_ci_playbook_sync.py | |
| - name: Validate benchmark sanity | |
| run: python scripts/check_benchmark_sanity.py | |
| - name: Syntax check critical scripts | |
| run: | | |
| python -m py_compile \ | |
| client_harness_template/aws_config.py \ | |
| client_harness_template/aws_executor.py \ | |
| client_harness_template/aws_models.py \ | |
| client_harness_template/objective_aws_batch_example.py \ | |
| client_harness_template/run_one_eval.py \ | |
| scripts/check_benchmark_sanity.py \ | |
| scripts/check_ci_playbook_sync.py \ | |
| scripts/check_docs_consistency.py \ | |
| scripts/check_internal_links.py \ | |
| scripts/release_smoke.py \ | |
| templates/bo_client/run_bo.py \ | |
| templates/bo_client_demo/run_bo.py \ | |
| templates/bo_client_full/run_bo.py | |
| test: | |
| name: Unit Tests (py${{ matrix.python-version }}) | |
| needs: quality | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install test dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements-dev.txt | |
| - name: Run test suite | |
| run: python -m pytest -q templates client_harness_template/tests | |
| typecheck: | |
| name: Type Check (mypy, py3.12) | |
| needs: quality | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install type-check dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements-dev.txt | |
| - name: Run mypy gate | |
| run: python -m mypy | |
| smoke: | |
| name: Release Smoke (quickstart + ops) | |
| needs: quality | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install smoke dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements-dev.txt | |
| - name: Run release smoke checks | |
| run: python scripts/release_smoke.py |