|
5 | 5 | pull_request: |
6 | 6 |
|
7 | 7 | jobs: |
| 8 | + automation-demo: |
| 9 | + runs-on: ubuntu-latest |
| 10 | + steps: |
| 11 | + - uses: actions/checkout@v4 |
| 12 | + - uses: actions/setup-python@v5 |
| 13 | + with: |
| 14 | + python-version: "3.11" |
| 15 | + - name: Run monorepo automation demo |
| 16 | + run: | |
| 17 | + chmod +x scripts/run_automation_demo.sh |
| 18 | + ./scripts/run_automation_demo.sh /tmp/agentcode-demo |
| 19 | + - name: Validate automation outputs |
| 20 | + run: | |
| 21 | + python - <<'PY' |
| 22 | + import json |
| 23 | + from pathlib import Path |
| 24 | +
|
| 25 | + root = Path("/tmp/agentcode-demo") |
| 26 | + assert root.exists(), "automation demo output directory missing" |
| 27 | +
|
| 28 | + summary = json.loads((root / "agentci-summary.json").read_text()) |
| 29 | + assert summary["episode_id"] == "openai-agents-demo" |
| 30 | + assert summary["tool_calls"] >= 1 |
| 31 | +
|
| 32 | + regression = json.loads((root / "agentci-regression.json").read_text()) |
| 33 | + assert regression["passed"] is True |
| 34 | +
|
| 35 | + manifest = json.loads((root / "tracepack-pack" / "manifest.json").read_text()) |
| 36 | + assert manifest["format"] == "tracepack-v1" |
| 37 | + assert len(manifest["cases"]) >= 1 |
| 38 | +
|
| 39 | + clusters = json.loads((root / "failmap-clusters.json").read_text()) |
| 40 | + assert clusters["format"] == "failmap-v1" |
| 41 | + assert len(clusters["clusters"]) >= 1 |
| 42 | +
|
| 43 | + split_summary = json.loads((root / "packslice" / "summary.json").read_text()) |
| 44 | + assert split_summary["total_cases"] >= 1 |
| 45 | + assert len(split_summary["splits"]) == 3 |
| 46 | + PY |
| 47 | + - name: Upload automation demo artifacts |
| 48 | + uses: actions/upload-artifact@v4 |
| 49 | + with: |
| 50 | + name: agentcode-automation-demo |
| 51 | + path: /tmp/agentcode-demo |
| 52 | + |
8 | 53 | agentci: |
9 | 54 | runs-on: ubuntu-latest |
10 | 55 | defaults: |
@@ -119,3 +164,42 @@ jobs: |
119 | 164 | packslice summarize examples/split_demo --json > /tmp/packslice-summary.json |
120 | 165 | python -c "import json; data=json.load(open('/tmp/packslice-summary.json')); assert data['total_cases'] == 6; assert len(data['splits']) == 3" |
121 | 166 | packslice markdown examples/split_demo examples/split_demo/REPORT.md |
| 167 | +
|
| 168 | + automation-demo: |
| 169 | + runs-on: ubuntu-latest |
| 170 | + steps: |
| 171 | + - uses: actions/checkout@v4 |
| 172 | + - uses: actions/setup-python@v5 |
| 173 | + with: |
| 174 | + python-version: "3.11" |
| 175 | + - name: Run monorepo automation demo |
| 176 | + run: ./scripts/run_automation_demo.sh /tmp/agentcode-automation-demo |
| 177 | + - name: Validate automation outputs |
| 178 | + run: | |
| 179 | + python - <<'PY' |
| 180 | + import json |
| 181 | + from pathlib import Path |
| 182 | +
|
| 183 | + out = Path("/tmp/agentcode-automation-demo") |
| 184 | + assert (out / "agentci-summary.json").exists() |
| 185 | + assert (out / "agentci-regression.json").exists() |
| 186 | + assert (out / "tracepack-pack" / "manifest.json").exists() |
| 187 | + assert (out / "failmap-clusters.json").exists() |
| 188 | + assert (out / "packslice" / "summary.json").exists() |
| 189 | +
|
| 190 | + agentci_summary = json.loads((out / "agentci-summary.json").read_text()) |
| 191 | + assert agentci_summary["episode_id"] == "openai-agents-demo" |
| 192 | +
|
| 193 | + agentci_regression = json.loads((out / "agentci-regression.json").read_text()) |
| 194 | + assert agentci_regression["passed"] is True |
| 195 | +
|
| 196 | + tracepack_manifest = json.loads((out / "tracepack-pack" / "manifest.json").read_text()) |
| 197 | + assert tracepack_manifest["case_count"] == 1 |
| 198 | +
|
| 199 | + failmap_clusters = json.loads((out / "failmap-clusters.json").read_text()) |
| 200 | + assert failmap_clusters["cluster_count"] >= 1 |
| 201 | +
|
| 202 | + packslice_summary = json.loads((out / "packslice" / "summary.json").read_text()) |
| 203 | + assert packslice_summary["total_cases"] == 1 |
| 204 | + assert len(packslice_summary["splits"]) == 3 |
| 205 | + PY |
0 commit comments