Skip to content

Commit 6394f88

Browse files
committed
Add monorepo automation demo workflow
1 parent 6b7a6e4 commit 6394f88

1 file changed

Lines changed: 84 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,51 @@ on:
55
pull_request:
66

77
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+
853
agentci:
954
runs-on: ubuntu-latest
1055
defaults:
@@ -119,3 +164,42 @@ jobs:
119164
packslice summarize examples/split_demo --json > /tmp/packslice-summary.json
120165
python -c "import json; data=json.load(open('/tmp/packslice-summary.json')); assert data['total_cases'] == 6; assert len(data['splits']) == 3"
121166
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

Comments
 (0)