Repository navigation
🐛 competitor report: stop the publication gate rejecting Discord formatting (2026-11-09 report missing) #58
Workflow file for this run
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: gh-aw on-ramp | |
| on: | |
| pull_request: | |
| paths: | |
| - src/deploy/gh-aw/** | |
| - bin/issue-classifier.sh | |
| - .github/workflows/gh-aw-compile.yml | |
| - .github/workflows/weekly-competitor-report.md | |
| - .github/workflows/weekly-competitor-report.lock.yml | |
| - .github/scripts/competitor_report* | |
| - .github/scripts/test_competitor_report.py | |
| - .github/scripts/testdata/competitor-report/** | |
| push: | |
| branches: [v5] | |
| paths: | |
| - src/deploy/gh-aw/** | |
| - bin/issue-classifier.sh | |
| - .github/workflows/gh-aw-compile.yml | |
| - .github/workflows/weekly-competitor-report.md | |
| - .github/workflows/weekly-competitor-report.lock.yml | |
| - .github/scripts/competitor_report* | |
| - .github/scripts/test_competitor_report.py | |
| - .github/scripts/testdata/competitor-report/** | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_target' }} | |
| permissions: | |
| contents: read | |
| jobs: | |
| compile: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Install classifier dependency | |
| run: python3 -m pip install PyYAML==6.0.3 | |
| - name: Admission and classifier regression tests | |
| run: python3 -m unittest discover -s src/deploy/gh-aw -p 'test_*.py' | |
| - name: Competitor source and publication regression tests (offline fixtures) | |
| run: python3 -m unittest discover -s .github/scripts -p 'test_competitor_report.py' | |
| - name: Install pinned gh-aw compiler | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: gh extension install github/gh-aw --pin v1.0.1 | |
| - name: Regenerate competitor report with the canonical compiler | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| gh aw compile weekly-competitor-report | |
| git diff --exit-code -- .github/workflows/weekly-competitor-report.lock.yml .github/aw/actions-lock.json | |
| gh aw compile weekly-competitor-report | |
| git diff --exit-code -- .github/workflows/weekly-competitor-report.lock.yml .github/aw/actions-lock.json | |
| - name: Compile sample without engine secrets | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| cp src/deploy/gh-aw/hive.md .github/workflows/hive.md | |
| gh aw compile hive | |
| - name: Check admission precedes engine in generated workflow | |
| run: | | |
| python3 - <<'PY' | |
| import yaml | |
| with open('.github/workflows/hive.lock.yml') as stream: | |
| workflow = yaml.safe_load(stream) | |
| jobs = list(workflow['jobs'].values()) | |
| agent = next(job for job in jobs if any( | |
| step.get('name') == 'Admit and classify the issue before model judgment' | |
| for step in job.get('steps', []))) | |
| steps = agent['steps'] | |
| admission = next(i for i, step in enumerate(steps) if step.get('name') == | |
| 'Admit and classify the issue before model judgment') | |
| engine = next(i for i, step in enumerate(steps) | |
| if step.get('id') == 'agentic_execution') | |
| assert admission < engine | |
| assert not steps[admission].get('continue-on-error', False) | |
| condition = str(steps[engine].get('if', '')) | |
| assert 'always()' not in condition and 'failure()' not in condition | |
| PY |