diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml index 7dae2aed42..91249201aa 100644 --- a/.github/workflows/audit-workflows.lock.yml +++ b/.github/workflows/audit-workflows.lock.yml @@ -315,10 +315,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml index 92cf511477..f53e514025 100644 --- a/.github/workflows/blog-auditor.lock.yml +++ b/.github/workflows/blog-auditor.lock.yml @@ -248,10 +248,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/changeset.lock.yml b/.github/workflows/changeset.lock.yml index fcaa0abca5..68ee60c95f 100644 --- a/.github/workflows/changeset.lock.yml +++ b/.github/workflows/changeset.lock.yml @@ -991,10 +991,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/ci-coach.lock.yml b/.github/workflows/ci-coach.lock.yml index 5cde0ee87f..41e87c72fb 100644 --- a/.github/workflows/ci-coach.lock.yml +++ b/.github/workflows/ci-coach.lock.yml @@ -7744,7 +7744,12 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[ci-coach] " + GH_AW_PR_DRAFT: "true" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "CI Optimization Coach" GH_AW_TRACKER_ID: "ci-coach-daily" diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index 854851138a..3f8dd64a40 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -266,10 +266,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml index ade7298328..335322d1ce 100644 --- a/.github/workflows/cloclo.lock.yml +++ b/.github/workflows/cloclo.lock.yml @@ -1057,10 +1057,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI @@ -8495,9 +8493,16 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[cloclo] " GH_AW_PR_LABELS: "automation,cloclo" + GH_AW_PR_DRAFT: "true" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 + GH_AW_COMMENT_ID: ${{ needs.activation.outputs.comment_id }} + GH_AW_COMMENT_REPO: ${{ needs.activation.outputs.comment_repo }} GH_AW_WORKFLOW_NAME: "/cloclo" GH_AW_ENGINE_ID: "claude" GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🎤 *Magnifique! Performance by [{workflow_name}]({run_url})*\",\"runStarted\":\"🎵 Comme d'habitude! [{workflow_name}]({run_url}) takes the stage on this {event_type}...\",\"runSuccess\":\"🎤 Bravo! [{workflow_name}]({run_url}) has delivered a stunning performance! Standing ovation! 🌟\",\"runFailure\":\"🎵 Intermission... [{workflow_name}]({run_url}) {status}. The show must go on... eventually!\"}" diff --git a/.github/workflows/close-old-discussions.lock.yml b/.github/workflows/close-old-discussions.lock.yml index 8b74a812df..97bf523f80 100644 --- a/.github/workflows/close-old-discussions.lock.yml +++ b/.github/workflows/close-old-discussions.lock.yml @@ -282,10 +282,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml index 03773fcbb1..8f7a5e353e 100644 --- a/.github/workflows/commit-changes-analyzer.lock.yml +++ b/.github/workflows/commit-changes-analyzer.lock.yml @@ -250,10 +250,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml index 035a697cc7..a73cd157ce 100644 --- a/.github/workflows/copilot-agent-analysis.lock.yml +++ b/.github/workflows/copilot-agent-analysis.lock.yml @@ -275,10 +275,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml index 7b8696d529..b377d2952e 100644 --- a/.github/workflows/copilot-session-insights.lock.yml +++ b/.github/workflows/copilot-session-insights.lock.yml @@ -301,10 +301,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index d5a2a893aa..dda2fc510e 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -288,10 +288,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml index ad1a2f4f24..8a6c2b9127 100644 --- a/.github/workflows/daily-doc-updater.lock.yml +++ b/.github/workflows/daily-doc-updater.lock.yml @@ -259,10 +259,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI @@ -6667,9 +6665,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[docs] " GH_AW_PR_LABELS: "documentation,automation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Daily Documentation Updater" GH_AW_TRACKER_ID: "daily-doc-updater" diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml index 1208767c89..96d6a7a78e 100644 --- a/.github/workflows/daily-fact.lock.yml +++ b/.github/workflows/daily-fact.lock.yml @@ -247,10 +247,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index 638b3a92f0..523bb45aba 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -304,10 +304,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml index c61d9b1520..3b312a0e4a 100644 --- a/.github/workflows/daily-multi-device-docs-tester.lock.yml +++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml @@ -252,10 +252,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml index 2c18086f4f..847cc6a47f 100644 --- a/.github/workflows/daily-performance-summary.lock.yml +++ b/.github/workflows/daily-performance-summary.lock.yml @@ -296,10 +296,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml index 1b60d6b417..a12aebf05c 100644 --- a/.github/workflows/daily-workflow-updater.lock.yml +++ b/.github/workflows/daily-workflow-updater.lock.yml @@ -6935,9 +6935,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[actions] " GH_AW_PR_LABELS: "dependencies,automation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Daily Workflow Updater" GH_AW_TRACKER_ID: "daily-workflow-updater" diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml index 2d9a6a61c0..442b404be8 100644 --- a/.github/workflows/deep-report.lock.yml +++ b/.github/workflows/deep-report.lock.yml @@ -326,10 +326,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml index 9c91eb98a2..526d1a7b54 100644 --- a/.github/workflows/developer-docs-consolidator.lock.yml +++ b/.github/workflows/developer-docs-consolidator.lock.yml @@ -277,10 +277,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI @@ -8342,9 +8340,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[docs] " GH_AW_PR_LABELS: "documentation,automation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Developer Documentation Consolidator" GH_AW_ENGINE_ID: "claude" diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml index 4a937cd63b..f7920c02dc 100644 --- a/.github/workflows/dictation-prompt.lock.yml +++ b/.github/workflows/dictation-prompt.lock.yml @@ -6897,9 +6897,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[docs] " GH_AW_PR_LABELS: "documentation,automation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Dictation Prompt Generator" GH_AW_ENGINE_ID: "copilot" diff --git a/.github/workflows/duplicate-code-detector.lock.yml b/.github/workflows/duplicate-code-detector.lock.yml index 10f8b072e7..117eadc306 100644 --- a/.github/workflows/duplicate-code-detector.lock.yml +++ b/.github/workflows/duplicate-code-detector.lock.yml @@ -258,10 +258,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml index 106423931a..4333dc63ab 100644 --- a/.github/workflows/example-workflow-analyzer.lock.yml +++ b/.github/workflows/example-workflow-analyzer.lock.yml @@ -249,10 +249,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml index b009d319ca..0b4af18304 100644 --- a/.github/workflows/github-mcp-structural-analysis.lock.yml +++ b/.github/workflows/github-mcp-structural-analysis.lock.yml @@ -292,10 +292,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml index 0d44f81eec..b81086cee8 100644 --- a/.github/workflows/github-mcp-tools-report.lock.yml +++ b/.github/workflows/github-mcp-tools-report.lock.yml @@ -266,10 +266,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI @@ -8153,9 +8151,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[mcp-tools] " GH_AW_PR_LABELS: "documentation,automation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "GitHub MCP Remote Server Tools Report Generator" GH_AW_ENGINE_ID: "claude" diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml index 38627bbbde..057c577309 100644 --- a/.github/workflows/glossary-maintainer.lock.yml +++ b/.github/workflows/glossary-maintainer.lock.yml @@ -7524,9 +7524,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[docs] " GH_AW_PR_LABELS: "documentation,glossary" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Glossary Maintainer" GH_AW_ENGINE_ID: "copilot" diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml index 4966eaaab5..d9d32b52cb 100644 --- a/.github/workflows/go-fan.lock.yml +++ b/.github/workflows/go-fan.lock.yml @@ -275,10 +275,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml index e76ccce661..fc09eb4105 100644 --- a/.github/workflows/go-logger.lock.yml +++ b/.github/workflows/go-logger.lock.yml @@ -275,10 +275,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI @@ -6742,9 +6740,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[log] " GH_AW_PR_LABELS: "enhancement,automation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Go Logger Enhancement" GH_AW_ENGINE_ID: "claude" diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml index 4817b7a7c4..aacf5d9f66 100644 --- a/.github/workflows/go-pattern-detector.lock.yml +++ b/.github/workflows/go-pattern-detector.lock.yml @@ -250,10 +250,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/hourly-ci-cleaner.lock.yml b/.github/workflows/hourly-ci-cleaner.lock.yml index 1433bf3efd..5589b44edc 100644 --- a/.github/workflows/hourly-ci-cleaner.lock.yml +++ b/.github/workflows/hourly-ci-cleaner.lock.yml @@ -7161,7 +7161,12 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[ca] " + GH_AW_PR_DRAFT: "true" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Hourly CI Cleaner" GH_AW_TRACKER_ID: "hourly-ci-cleaner" diff --git a/.github/workflows/incident-response.lock.yml b/.github/workflows/incident-response.lock.yml index 96390d5eac..b88a3a9263 100644 --- a/.github/workflows/incident-response.lock.yml +++ b/.github/workflows/incident-response.lock.yml @@ -9379,7 +9379,12 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_LABELS: "campaign-fix,incident" + GH_AW_PR_DRAFT: "true" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Campaign - Incident Response" GH_AW_ENGINE_ID: "copilot" diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml index ae5348f9e7..8e3f3cf8cd 100644 --- a/.github/workflows/instructions-janitor.lock.yml +++ b/.github/workflows/instructions-janitor.lock.yml @@ -259,10 +259,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI @@ -6622,9 +6620,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[instructions] " GH_AW_PR_LABELS: "documentation,automation,instructions" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Instructions Janitor" GH_AW_ENGINE_ID: "claude" diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml index 92cd94c50d..f124d0f677 100644 --- a/.github/workflows/issue-arborist.lock.yml +++ b/.github/workflows/issue-arborist.lock.yml @@ -257,10 +257,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/jsweep.lock.yml b/.github/workflows/jsweep.lock.yml index 200f016644..7035b1cc27 100644 --- a/.github/workflows/jsweep.lock.yml +++ b/.github/workflows/jsweep.lock.yml @@ -7033,10 +7033,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[jsweep] " GH_AW_PR_LABELS: "unbloat,automation" GH_AW_PR_DRAFT: "false" GH_AW_PR_IF_NO_CHANGES: "ignore" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "jsweep - JavaScript Unbloater" GH_AW_TRACKER_ID: "jsweep-daily" diff --git a/.github/workflows/layout-spec-maintainer.lock.yml b/.github/workflows/layout-spec-maintainer.lock.yml index c861569f65..83bfc57d1f 100644 --- a/.github/workflows/layout-spec-maintainer.lock.yml +++ b/.github/workflows/layout-spec-maintainer.lock.yml @@ -7053,9 +7053,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[specs] " GH_AW_PR_LABELS: "documentation,automation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Layout Specification Maintainer" GH_AW_TRACKER_ID: "layout-spec-maintainer" diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml index 2048838c64..63e36ed98e 100644 --- a/.github/workflows/lockfile-stats.lock.yml +++ b/.github/workflows/lockfile-stats.lock.yml @@ -263,10 +263,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/org-wide-rollout.lock.yml b/.github/workflows/org-wide-rollout.lock.yml index 7aa7b5977c..6db6343323 100644 --- a/.github/workflows/org-wide-rollout.lock.yml +++ b/.github/workflows/org-wide-rollout.lock.yml @@ -9407,7 +9407,12 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_LABELS: "campaign-pr,org-rollout" + GH_AW_PR_DRAFT: "true" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Campaign - Org-Wide Rollout" GH_AW_ENGINE_ID: "copilot" diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml index 679689dec6..3e9e2a4405 100644 --- a/.github/workflows/poem-bot.lock.yml +++ b/.github/workflows/poem-bot.lock.yml @@ -11599,10 +11599,16 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[🎨 POETRY] " GH_AW_PR_LABELS: "poetry,automation,creative-writing" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 + GH_AW_COMMENT_ID: ${{ needs.activation.outputs.comment_id }} + GH_AW_COMMENT_REPO: ${{ needs.activation.outputs.comment_repo }} GH_AW_WORKFLOW_NAME: "Poem Bot - A Creative Agentic Workflow" GH_AW_ENGINE_ID: "copilot" GH_AW_ENGINE_MODEL: "gpt-5" diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml index f85fbcd1f0..ff604f2d9d 100644 --- a/.github/workflows/prompt-clustering-analysis.lock.yml +++ b/.github/workflows/prompt-clustering-analysis.lock.yml @@ -336,10 +336,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index f658af875b..b14f091dcb 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -8896,11 +8896,16 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[q] " GH_AW_PR_LABELS: "automation,workflow-optimization" GH_AW_PR_DRAFT: "false" GH_AW_PR_IF_NO_CHANGES: "ignore" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 + GH_AW_COMMENT_ID: ${{ needs.activation.outputs.comment_id }} + GH_AW_COMMENT_REPO: ${{ needs.activation.outputs.comment_repo }} GH_AW_WORKFLOW_NAME: "Q" GH_AW_ENGINE_ID: "copilot" GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🎩 *Equipped by [{workflow_name}]({run_url})*\",\"runStarted\":\"🔧 Pay attention, 007! [{workflow_name}]({run_url}) is preparing your gadgets for this {event_type}...\",\"runSuccess\":\"🎩 Mission equipment ready! [{workflow_name}]({run_url}) has optimized your workflow. Use wisely, 007! 🔫\",\"runFailure\":\"🔧 Technical difficulties! [{workflow_name}]({run_url}) {status}. Even Q Branch has bad days...\"}" diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml index cc3b6eb3e4..33d96e5aba 100644 --- a/.github/workflows/safe-output-health.lock.yml +++ b/.github/workflows/safe-output-health.lock.yml @@ -288,10 +288,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml index 43207e6aab..4168df403d 100644 --- a/.github/workflows/schema-consistency-checker.lock.yml +++ b/.github/workflows/schema-consistency-checker.lock.yml @@ -266,10 +266,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml index 830404ee75..b203dd013c 100644 --- a/.github/workflows/scout.lock.yml +++ b/.github/workflows/scout.lock.yml @@ -1048,10 +1048,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/security-fix-pr.lock.yml b/.github/workflows/security-fix-pr.lock.yml index b839dc578e..78fb1008de 100644 --- a/.github/workflows/security-fix-pr.lock.yml +++ b/.github/workflows/security-fix-pr.lock.yml @@ -267,10 +267,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI @@ -6832,8 +6830,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[security-fix] " GH_AW_PR_LABELS: "security,automated-fix" + GH_AW_PR_DRAFT: "true" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Security Fix PR" GH_AW_ENGINE_ID: "claude" diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml index 82c76da7a8..df2f1df906 100644 --- a/.github/workflows/semantic-function-refactor.lock.yml +++ b/.github/workflows/semantic-function-refactor.lock.yml @@ -248,10 +248,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/slide-deck-maintainer.lock.yml b/.github/workflows/slide-deck-maintainer.lock.yml index 79a2d7ab41..b1f9f97635 100644 --- a/.github/workflows/slide-deck-maintainer.lock.yml +++ b/.github/workflows/slide-deck-maintainer.lock.yml @@ -7327,7 +7327,12 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[slides] " + GH_AW_PR_DRAFT: "true" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Slide Deck Maintainer" GH_AW_TRACKER_ID: "slide-deck-maintainer" diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml index bdb1650fd7..ba2ff1e428 100644 --- a/.github/workflows/smoke-claude.lock.yml +++ b/.github/workflows/smoke-claude.lock.yml @@ -687,10 +687,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/smoke-codex-firewall.lock.yml b/.github/workflows/smoke-codex-firewall.lock.yml index 038c9b1975..3a1283bb28 100644 --- a/.github/workflows/smoke-codex-firewall.lock.yml +++ b/.github/workflows/smoke-codex-firewall.lock.yml @@ -658,10 +658,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml index cdd4c34e8b..2472d91991 100644 --- a/.github/workflows/smoke-codex.lock.yml +++ b/.github/workflows/smoke-codex.lock.yml @@ -685,10 +685,8 @@ jobs: run: npm install -g @openai/codex@0.75.0 - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/.github/workflows/smoke-detector.lock.yml b/.github/workflows/smoke-detector.lock.yml index 71466413f6..4aca069c30 100644 --- a/.github/workflows/smoke-detector.lock.yml +++ b/.github/workflows/smoke-detector.lock.yml @@ -710,10 +710,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/spec-kit-execute.lock.yml b/.github/workflows/spec-kit-execute.lock.yml index 7a7e913c4a..b585b2d85b 100644 --- a/.github/workflows/spec-kit-execute.lock.yml +++ b/.github/workflows/spec-kit-execute.lock.yml @@ -7429,9 +7429,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[spec-kit] " GH_AW_PR_LABELS: "spec-kit,automation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Spec-Kit Execute" GH_AW_TRACKER_ID: "spec-kit-execute" diff --git a/.github/workflows/spec-kit-executor.lock.yml b/.github/workflows/spec-kit-executor.lock.yml index 4a1dcf5ca3..898cf41f71 100644 --- a/.github/workflows/spec-kit-executor.lock.yml +++ b/.github/workflows/spec-kit-executor.lock.yml @@ -7304,9 +7304,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[spec-kit] " GH_AW_PR_LABELS: "spec-kit,automation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Spec Kit Executor" GH_AW_TRACKER_ID: "spec-kit-executor" diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml index aa1d43ae84..df3b5d72a3 100644 --- a/.github/workflows/static-analysis-report.lock.yml +++ b/.github/workflows/static-analysis-report.lock.yml @@ -281,10 +281,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml index 73ed0626f7..8578b20065 100644 --- a/.github/workflows/technical-doc-writer.lock.yml +++ b/.github/workflows/technical-doc-writer.lock.yml @@ -7912,9 +7912,13 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[docs] " GH_AW_PR_LABELS: "documentation" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 GH_AW_WORKFLOW_NAME: "Technical Doc Writer" GH_AW_ENGINE_ID: "copilot" diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml index aefc2f2f54..445ed039ee 100644 --- a/.github/workflows/tidy.lock.yml +++ b/.github/workflows/tidy.lock.yml @@ -7589,10 +7589,16 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[tidy] " GH_AW_PR_LABELS: "automation,maintenance" GH_AW_PR_DRAFT: "false" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 + GH_AW_COMMENT_ID: ${{ needs.activation.outputs.comment_id }} + GH_AW_COMMENT_REPO: ${{ needs.activation.outputs.comment_repo }} GH_AW_WORKFLOW_NAME: "Tidy" GH_AW_ENGINE_ID: "copilot" with: diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml index 803417853d..73bf16d0e9 100644 --- a/.github/workflows/typist.lock.yml +++ b/.github/workflows/typist.lock.yml @@ -259,10 +259,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml index 44019741ef..bb9ca84be5 100644 --- a/.github/workflows/unbloat-docs.lock.yml +++ b/.github/workflows/unbloat-docs.lock.yml @@ -694,10 +694,8 @@ jobs: package-manager-cache: false - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Install Claude Code CLI @@ -8183,10 +8181,16 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} + GH_AW_WORKFLOW_ID: "agent" + GH_AW_BASE_BRANCH: ${{ github.ref_name }} GH_AW_PR_TITLE_PREFIX: "[docs] " GH_AW_PR_LABELS: "documentation,automation" GH_AW_PR_DRAFT: "true" + GH_AW_PR_IF_NO_CHANGES: "warn" + GH_AW_PR_ALLOW_EMPTY: "false" GH_AW_MAX_PATCH_SIZE: 1024 + GH_AW_COMMENT_ID: ${{ needs.activation.outputs.comment_id }} + GH_AW_COMMENT_REPO: ${{ needs.activation.outputs.comment_repo }} GH_AW_WORKFLOW_NAME: "Documentation Unbloat" GH_AW_ENGINE_ID: "claude" GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🗜️ *Compressed by [{workflow_name}]({run_url})*\",\"runStarted\":\"📦 Time to slim down! [{workflow_name}]({run_url}) is trimming the excess from this {event_type}...\",\"runSuccess\":\"🗜️ Docs on a diet! [{workflow_name}]({run_url}) has removed the bloat. Lean and mean! 💪\",\"runFailure\":\"📦 Unbloating paused! [{workflow_name}]({run_url}) {status}. The docs remain... fluffy.\"}" diff --git a/.github/workflows/workflow-generator.lock.yml b/.github/workflows/workflow-generator.lock.yml index a9df9120d2..d2fa02c979 100644 --- a/.github/workflows/workflow-generator.lock.yml +++ b/.github/workflows/workflow-generator.lock.yml @@ -296,10 +296,8 @@ jobs: copilot --version - name: Install awf binary run: | - echo "Installing awf from release: v0.7.0" - curl -L https://github.com/githubnext/gh-aw-firewall/releases/download/v0.7.0/awf-linux-x64 -o awf - chmod +x awf - sudo mv awf /usr/local/bin/ + echo "Installing awf via installer script (requested version: v0.7.0)" + curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.7.0 bash which awf awf --version - name: Downloading container images diff --git a/pkg/workflow/compiler_safe_outputs_consolidated.go b/pkg/workflow/compiler_safe_outputs_consolidated.go index 3aecf63c93..e55547e61e 100644 --- a/pkg/workflow/compiler_safe_outputs_consolidated.go +++ b/pkg/workflow/compiler_safe_outputs_consolidated.go @@ -638,28 +638,43 @@ func (c *Compiler) buildCreatePullRequestStepConfig(data *WorkflowData, mainJobN cfg := data.SafeOutputs.CreatePullRequests var customEnvVars []string + // Pass the workflow ID for branch naming (required by create_pull_request.cjs) + customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_WORKFLOW_ID: %q\n", mainJobName)) + // Pass the base branch from GitHub context (required by create_pull_request.cjs) + customEnvVars = append(customEnvVars, " GH_AW_BASE_BRANCH: ${{ github.ref_name }}\n") customEnvVars = append(customEnvVars, buildTitlePrefixEnvVar("GH_AW_PR_TITLE_PREFIX", cfg.TitlePrefix)...) customEnvVars = append(customEnvVars, buildLabelsEnvVar("GH_AW_PR_LABELS", cfg.Labels)...) customEnvVars = append(customEnvVars, buildLabelsEnvVar("GH_AW_PR_ALLOWED_LABELS", cfg.AllowedLabels)...) - // Add draft setting if explicitly set + // Add draft setting - always set with default to true for backwards compatibility + draftValue := true // Default value if cfg.Draft != nil { - if *cfg.Draft { - customEnvVars = append(customEnvVars, " GH_AW_PR_DRAFT: \"true\"\n") - } else { - customEnvVars = append(customEnvVars, " GH_AW_PR_DRAFT: \"false\"\n") - } + draftValue = *cfg.Draft } - // Add if-no-changes setting if explicitly set - if cfg.IfNoChanges != "" { - customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_PR_IF_NO_CHANGES: %q\n", cfg.IfNoChanges)) + customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_PR_DRAFT: %q\n", fmt.Sprintf("%t", draftValue))) + // Add if-no-changes setting - always set with default to "warn" + ifNoChanges := cfg.IfNoChanges + if ifNoChanges == "" { + ifNoChanges = "warn" // Default value } + customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_PR_IF_NO_CHANGES: %q\n", ifNoChanges)) + // Add allow-empty setting + customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_PR_ALLOW_EMPTY: %q\n", fmt.Sprintf("%t", cfg.AllowEmpty))) // Add max patch size setting maxPatchSize := 1024 // default 1024 KB if data.SafeOutputs.MaximumPatchSize > 0 { maxPatchSize = data.SafeOutputs.MaximumPatchSize } customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_MAX_PATCH_SIZE: %d\n", maxPatchSize)) - customEnvVars = append(customEnvVars, c.buildStandardSafeOutputEnvVars(data, "")...) + // Add activation comment information if available (for updating the comment with PR link) + if data.AIReaction != "" && data.AIReaction != "none" { + customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_COMMENT_ID: ${{ needs.%s.outputs.comment_id }}\n", constants.ActivationJobName)) + customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_COMMENT_REPO: ${{ needs.%s.outputs.comment_repo }}\n", constants.ActivationJobName)) + } + // Add expires value if set (only for same-repo PRs - when target-repo is not set) + if cfg.Expires > 0 && cfg.TargetRepoSlug == "" { + customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_PR_EXPIRES: \"%d\"\n", cfg.Expires)) + } + customEnvVars = append(customEnvVars, c.buildStandardSafeOutputEnvVars(data, cfg.TargetRepoSlug)...) condition := BuildSafeOutputType("create_pull_request") diff --git a/pkg/workflow/create_pull_request_env_vars_test.go b/pkg/workflow/create_pull_request_env_vars_test.go new file mode 100644 index 0000000000..7e50eba97d --- /dev/null +++ b/pkg/workflow/create_pull_request_env_vars_test.go @@ -0,0 +1,144 @@ +package workflow + +import ( + "strings" + "testing" +) + +func TestCreatePullRequestStepConfigEnvVars(t *testing.T) { + // Create a compiler instance for consolidated mode + c := NewCompiler(false, "", "test") + + // Create workflow data with create-pull-request configuration + workflowData := &WorkflowData{ + Name: "test-workflow", + AIReaction: "emoji", // Enable reaction to test comment env vars + SafeOutputs: &SafeOutputsConfig{ + CreatePullRequests: &CreatePullRequestsConfig{ + TitlePrefix: "[TEST] ", + Labels: []string{"automated", "test"}, + AllowedLabels: []string{"automated", "test", "bug"}, + Draft: boolPtr(false), + IfNoChanges: "error", + AllowEmpty: true, + Expires: 7, + }, + MaximumPatchSize: 2048, + }, + } + + // Build the step config + stepConfig := c.buildCreatePullRequestStepConfig(workflowData, "main_job", false) + + // Convert custom env vars to a single string for testing + envVarsContent := strings.Join(stepConfig.CustomEnvVars, "") + + // Verify required environment variables are present + requiredEnvVars := map[string]string{ + "GH_AW_WORKFLOW_ID": `GH_AW_WORKFLOW_ID: "main_job"`, + "GH_AW_BASE_BRANCH": "GH_AW_BASE_BRANCH: ${{ github.ref_name }}", + "GH_AW_PR_TITLE_PREFIX": `GH_AW_PR_TITLE_PREFIX: "[TEST] "`, + "GH_AW_PR_LABELS": `GH_AW_PR_LABELS: "automated,test"`, + "GH_AW_PR_ALLOWED_LABELS": `GH_AW_PR_ALLOWED_LABELS: "automated,test,bug"`, + "GH_AW_PR_DRAFT": `GH_AW_PR_DRAFT: "false"`, + "GH_AW_PR_IF_NO_CHANGES": `GH_AW_PR_IF_NO_CHANGES: "error"`, + "GH_AW_PR_ALLOW_EMPTY": `GH_AW_PR_ALLOW_EMPTY: "true"`, + "GH_AW_MAX_PATCH_SIZE": "GH_AW_MAX_PATCH_SIZE: 2048", + "GH_AW_PR_EXPIRES": `GH_AW_PR_EXPIRES: "7"`, + } + + for envVarName, expectedContent := range requiredEnvVars { + if !strings.Contains(envVarsContent, expectedContent) { + t.Errorf("Expected %s to be present in environment variables.\nExpected: %s\nGot env vars:\n%s", + envVarName, expectedContent, envVarsContent) + } + } + + // Verify comment-related env vars are present when reaction is enabled + if !strings.Contains(envVarsContent, "GH_AW_COMMENT_ID") { + t.Error("Expected GH_AW_COMMENT_ID to be present when AIReaction is enabled") + } + if !strings.Contains(envVarsContent, "GH_AW_COMMENT_REPO") { + t.Error("Expected GH_AW_COMMENT_REPO to be present when AIReaction is enabled") + } +} + +func TestCreatePullRequestStepConfigDefaultValues(t *testing.T) { + // Create a compiler instance + c := NewCompiler(false, "", "test") + + // Create minimal workflow data to test defaults + workflowData := &WorkflowData{ + Name: "test-workflow", + SafeOutputs: &SafeOutputsConfig{ + CreatePullRequests: &CreatePullRequestsConfig{ + // Using all defaults + }, + }, + } + + // Build the step config + stepConfig := c.buildCreatePullRequestStepConfig(workflowData, "agent", false) + + // Convert custom env vars to a single string for testing + envVarsContent := strings.Join(stepConfig.CustomEnvVars, "") + + // Verify default values + defaultEnvVars := map[string]string{ + "GH_AW_WORKFLOW_ID": `GH_AW_WORKFLOW_ID: "agent"`, + "GH_AW_BASE_BRANCH": "GH_AW_BASE_BRANCH: ${{ github.ref_name }}", + "GH_AW_PR_DRAFT": `GH_AW_PR_DRAFT: "true"`, // Default is true + "GH_AW_PR_IF_NO_CHANGES": `GH_AW_PR_IF_NO_CHANGES: "warn"`, // Default is warn + "GH_AW_PR_ALLOW_EMPTY": `GH_AW_PR_ALLOW_EMPTY: "false"`, // Default is false + "GH_AW_MAX_PATCH_SIZE": "GH_AW_MAX_PATCH_SIZE: 1024", // Default is 1024 + } + + for envVarName, expectedContent := range defaultEnvVars { + if !strings.Contains(envVarsContent, expectedContent) { + t.Errorf("Expected default %s to be present.\nExpected: %s\nGot env vars:\n%s", + envVarName, expectedContent, envVarsContent) + } + } + + // Verify expires is NOT present when not set + if strings.Contains(envVarsContent, "GH_AW_PR_EXPIRES") { + t.Error("Expected GH_AW_PR_EXPIRES to NOT be present when Expires is 0") + } + + // Verify comment env vars are NOT present when reaction is not enabled + if strings.Contains(envVarsContent, "GH_AW_COMMENT_ID") { + t.Error("Expected GH_AW_COMMENT_ID to NOT be present when AIReaction is not enabled") + } +} + +func TestCreatePullRequestStepConfigWithTargetRepo(t *testing.T) { + // Create a compiler instance + c := NewCompiler(false, "", "test") + + // Create workflow data with target-repo (cross-repo PR) + workflowData := &WorkflowData{ + Name: "test-workflow", + SafeOutputs: &SafeOutputsConfig{ + CreatePullRequests: &CreatePullRequestsConfig{ + TargetRepoSlug: "owner/repo", + Expires: 7, // Should be ignored for cross-repo PRs + }, + }, + } + + // Build the step config + stepConfig := c.buildCreatePullRequestStepConfig(workflowData, "main_job", false) + + // Convert custom env vars to a single string for testing + envVarsContent := strings.Join(stepConfig.CustomEnvVars, "") + + // Verify expires is NOT present for cross-repo PRs + if strings.Contains(envVarsContent, "GH_AW_PR_EXPIRES") { + t.Error("Expected GH_AW_PR_EXPIRES to NOT be present for cross-repo PRs (when TargetRepoSlug is set)") + } + + // Verify target repo is passed to standard env vars builder + if !strings.Contains(envVarsContent, "GH_AW_TARGET_REPO_SLUG") { + t.Error("Expected GH_AW_TARGET_REPO_SLUG to be present for cross-repo PRs") + } +}