feat(ci): add script to transform workflows for local AWF testing#356
feat(ci): add script to transform workflows for local AWF testing#356
Conversation
Add use-local-awf.sh script that transforms generated .lock.yml workflow files to use locally built AWF binaries instead of released versions. The script: - Replaces curl-based AWF installation with npm ci/build/link - Replaces --image-tag with --build-local flag - Supports --dry-run mode for previewing changes - Can process all lock files or specific files This is useful for testing AWF changes before releasing, allowing agentic workflows to use the local development build. Usage: ./scripts/use-local-awf.sh # Transform all workflows ./scripts/use-local-awf.sh --dry-run # Preview changes ./scripts/use-local-awf.sh path/to/file.yml # Transform specific file Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
✅ Coverage Check PassedOverall Coverage
Coverage comparison generated by |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
Claude Smoke Test ResultsRecent PRs:
Test Results:
Status: PASS
|
Smoke Test ResultsLast 2 Merged PRs:
Test Results:
Overall Status: FAIL cc: @Mossaka (PR author)
|
- Apply use-local-awf.sh transformation to smoke-copilot.lock.yml - Replace curl-based AWF install with local git clone + npm build - Replace --image-tag with --build-local flag - Add PRD document for local AWF testing - Add Ralph CI monitor script for tracking workflow status This allows testing AWF changes before release by building from source. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
📰 DEVELOPING STORY: Smoke Copilot reports was cancelled. Our correspondents are investigating the incident... |
|
💫 TO BE CONTINUED... Smoke Claude was cancelled! Our hero faces unexpected challenges... |
- Use state instead of conclusion (gh pr checks uses different fields) - Update workflow run listing command Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
Smoke Test ResultsRecent merged PRs:
Test Results:
Status: PASS
|
Smoke Test ResultsLast 2 Merged PRs:
Test Results:
Overall Status: PASS cc: @Mossaka (author/assignee)
|
The --print flag requires input via stdin, not as a positional argument. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 DEVELOPING STORY: Smoke Copilot reports failed. Our correspondents are investigating the incident... |
Smoke Test ResultsLast 2 Merged PRs:
Test Results:
Overall: PASS
|
- Use claude -p with @file syntax for prompt - Use --permission-mode acceptEdits - Simpler iteration loop Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
📰 DEVELOPING STORY: Smoke Copilot reports was cancelled. Our correspondents are investigating the incident... |
|
💫 TO BE CONTINUED... Smoke Claude was cancelled! Our hero faces unexpected challenges... |
Include standard ralph loop instructions for task execution, testing, PRD updates, and progress tracking. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
💫 TO BE CONTINUED... Smoke Claude was cancelled! Our hero faces unexpected challenges... |
Usage: ./scripts/ralph-ci-monitor.sh <iterations> <prd_file> [progress_file] - Takes PRD file path as required argument - Progress file defaults to progress.txt in same directory as PRD - Creates progress file if it doesn't exist Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
📰 DEVELOPING STORY: Smoke Copilot reports was cancelled. Our correspondents are investigating the incident... |
|
💫 TO BE CONTINUED... Smoke Claude was cancelled! Our hero faces unexpected challenges... |
Simpler name for the general-purpose Ralph loop script. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
Smoke Test Results (Claude)Last 2 merged PRs:
Test Results:
Status: PASS
|
The --build-local flag requires AWF source files to build containers, but the workflow installs AWF as a pre-built binary via install_awf_binary.sh. This caused container build failures: unable to prepare context: path "/snapshot/gh-aw-firewall/containers/agent" not found Changed to --image-tag 0.10.0 to use pre-built containers from GHCR that match the installed AWF version. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
Smoke Test Results (Copilot)
Status: PASS ✅ cc @Mossaka
|
Smoke Test ResultsLast 2 Merged PRs:
Test Results:
Status: PASS
|
Security Review: Security Boundary Extension Detected
|
Workflow run 21232751884 passed with all tests: - GitHub MCP: Retrieved last 2 merged PRs - Playwright: Verified github.com title - File Writing: Created test file - Bash: Verified file creation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
Smoke Test ResultsRecent PRs:
Tests:
Status: PASS
|
|
Smoke Test Results for Copilot ✅ GitHub MCP: #344 "feat: add test-coverage-improver agentic workflow", #340 "feat(ci): add CI Failure Doctor workflow" Status: PASS
|
ci-doctor.md: - Remove disallowed 'issues: write' permission (use safe-outputs instead) - Replace disallowed expressions (workflow_run.name, head_branch) with allowed alternatives (run_number, event) - Add required 'issues: read' permission for github toolsets release.md: - Fix template injection vulnerabilities by converting step outputs to environment variables - Convert multi-line run blocks to single-line to avoid compiler's env block capture issue - Use proper YAML quoting for commands containing colons Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
Smoke Test ResultsLast 2 merged PRs:
✅ GitHub MCP Status: PASS cc: @Mossaka
|
Smoke Test Results - Claude ✅Last 2 Merged PRs:
Test Results:
Overall Status: PASS
|
Remove PRD tracking files and revert workflow source changes: - prd/fix-smoke-test.md - prd/progress.txt - scripts/prd.md - scripts/progress.txt - scripts/ralph - scripts/ralph-prompt.md - Revert ci-doctor.md and release.md to main branch versions Keep only .lock.yml changes and use-local-awf.sh script. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Recompile all workflow lock files using the latest gh-aw compiler. The new compiler automatically uses --build-local instead of --image-tag for AWF installation. Note: ci-doctor.lock.yml and release.lock.yml could not be recompiled due to security issues in the source .md files (issues: write permission and template injection vulnerabilities). These will need separate fixes in the source files. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Document that agents should always run use-local-awf.sh after compiling workflows with gh aw compile to transform them for local AWF testing. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The latest gh-aw compiler (v0.37.10) generates workflows that reference ./actions/setup, a local action that doesn't exist in this repository. Revert all lock files to their working main branch versions. Remove ci-doctor.lock.yml as it was a new file that also has this issue. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
Smoke Test Results (Claude) Last 2 merged PRs:
✅ GitHub MCP - Retrieved PRs successfully Status: PASS
|
Smoke Test ResultsLast 2 Merged PRs:
Test Results:
Status: FAIL (3/4 tests passed)
|
Summary
scripts/use-local-awf.shscript that transforms generated.lock.ymlworkflow files to use locally built AWF binaries instead of released versions from GHCRWhat the script does
Replaces curl-based AWF installation with local build commands:
curl -sSL ... install.sh | sudo AWF_VERSION=v0.8.2 bashgit clone && npm ci && npm run build && sudo npm linkReplaces
--image-tagflag with--build-local:--image-tag 0.8.2--build-localUsage
Test plan
--dry-runmode detects all 14 lock files--image-tag X.Y.Zis replaced with--build-local🤖 Generated with Claude Code