docs: clarify agent target selection #51
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: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| tests: | |
| name: Tests (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: pyproject.toml | |
| - name: Run tests | |
| run: | | |
| python -m pip install --upgrade pip nox | |
| nox -s tests | |
| lint: | |
| name: Lint and architecture contracts | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: pyproject.toml | |
| - run: | | |
| python -m pip install --upgrade pip nox | |
| nox -s lint | |
| build: | |
| name: Build distributions | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: pyproject.toml | |
| - name: Build and inspect artifacts | |
| run: | | |
| python -m pip install --upgrade pip build twine | |
| python -m build | |
| python -m twine check dist/* | |
| python scripts/verify_distribution.py archives dist | |
| - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: distributions | |
| path: dist/* | |
| if-no-files-found: error | |
| retention-days: 7 | |
| installed-wheel: | |
| name: Installed wheel and CodeGraph (${{ matrix.os }}) | |
| needs: build | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 | |
| with: | |
| python-version: "3.12" | |
| - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 | |
| with: | |
| name: distributions | |
| path: dist | |
| - name: Install the exact wheel | |
| run: >- | |
| python -c "import glob, subprocess, sys; | |
| wheels=glob.glob('dist/*.whl'); | |
| assert len(wheels)==1, wheels; | |
| subprocess.check_call([sys.executable, '-m', 'pip', 'install', wheels[0]])" | |
| - name: Validate installed dependency metadata | |
| run: python -m pip check | |
| - name: Verify installed CLI, assets, licenses, and RCA degradation | |
| run: python scripts/verify_distribution.py installed | |
| - name: Verify pinned CodeGraph setup and doctor | |
| run: python scripts/verify_distribution.py codegraph | |
| dashboard-ui: | |
| name: Playwright dashboard | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: pyproject.toml | |
| - name: Install browser system dependencies | |
| run: python -m pip install --upgrade pip nox | |
| - name: Run the browser lane | |
| env: | |
| E2E_UI_INSTALL_DEPS: "1" | |
| run: | | |
| set -o pipefail | |
| nox -s e2e-ui 2>&1 | tee e2e-ui.log | |
| - name: Preserve browser diagnostics | |
| if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: playwright-diagnostics | |
| path: | | |
| e2e-ui.log | |
| e2e/out/**/*.png | |
| test-results/** | |
| if-no-files-found: ignore | |
| retention-days: 7 |