diff --git a/.github/workflows/agent-performance-analyzer.lock.yml b/.github/workflows/agent-performance-analyzer.lock.yml
index 1079ae1086..6c9e45793a 100644
--- a/.github/workflows/agent-performance-analyzer.lock.yml
+++ b/.github/workflows/agent-performance-analyzer.lock.yml
@@ -103,10 +103,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Repo memory git-based storage configuration from frontmatter processed below
- name: Clone repo-memory branch (default)
env:
@@ -1997,8 +1994,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2845,21 +2841,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/ai-moderator.lock.yml b/.github/workflows/ai-moderator.lock.yml
index d717a32e33..2e2b835958 100644
--- a/.github/workflows/ai-moderator.lock.yml
+++ b/.github/workflows/ai-moderator.lock.yml
@@ -125,10 +125,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1901,8 +1898,7 @@ jobs:
GH_AW_GITHUB_EVENT_ISSUE_NUMBER: ${{ github.event.issue.number }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2394,21 +2390,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml
index dc8d9e743f..1535d1f5ef 100644
--- a/.github/workflows/archie.lock.yml
+++ b/.github/workflows/archie.lock.yml
@@ -162,10 +162,7 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1913,8 +1910,7 @@ jobs:
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Archie - Mermaid Diagram Generator
@@ -2482,21 +2478,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml
index 721cb233a9..2507adde35 100644
--- a/.github/workflows/artifacts-summary.lock.yml
+++ b/.github/workflows/artifacts-summary.lock.yml
@@ -1857,7 +1857,8 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
- run: bash /tmp/gh-aw/actions/create_prompt_first.sh
+ run: |
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml
index d6b16e9f5a..a39c7f67d6 100644
--- a/.github/workflows/audit-workflows.lock.yml
+++ b/.github/workflows/audit-workflows.lock.yml
@@ -1938,7 +1938,8 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
- run: bash /tmp/gh-aw/actions/create_prompt_first.sh
+ run: |
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml
index 179c451892..c59dea0dd1 100644
--- a/.github/workflows/blog-auditor.lock.yml
+++ b/.github/workflows/blog-auditor.lock.yml
@@ -104,10 +104,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1867,8 +1864,7 @@ jobs:
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
GH_AW_GITHUB_SERVER_URL: ${{ github.server_url }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2499,21 +2495,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml
index 4f224fe5ac..a9a6eccec1 100644
--- a/.github/workflows/brave.lock.yml
+++ b/.github/workflows/brave.lock.yml
@@ -141,10 +141,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1904,8 +1901,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2377,21 +2373,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/breaking-change-checker.lock.yml b/.github/workflows/breaking-change-checker.lock.yml
index 6a18ff6442..7bf832c5aa 100644
--- a/.github/workflows/breaking-change-checker.lock.yml
+++ b/.github/workflows/breaking-change-checker.lock.yml
@@ -101,10 +101,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1881,8 +1878,7 @@ jobs:
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Breaking Change Checker
@@ -2404,21 +2400,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/campaign-generator.lock.yml b/.github/workflows/campaign-generator.lock.yml
index 1dd97e4223..6e907a1a19 100644
--- a/.github/workflows/campaign-generator.lock.yml
+++ b/.github/workflows/campaign-generator.lock.yml
@@ -116,10 +116,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1918,8 +1915,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_EVENT_ISSUE_NUMBER: ${{ github.event.issue.number }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2319,21 +2315,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/campaign-manager.lock.yml b/.github/workflows/campaign-manager.lock.yml
index a184046ec7..1c3935ee4b 100644
--- a/.github/workflows/campaign-manager.lock.yml
+++ b/.github/workflows/campaign-manager.lock.yml
@@ -103,10 +103,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Repo memory git-based storage configuration from frontmatter processed below
- name: Clone repo-memory branch (default)
env:
@@ -2074,8 +2071,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2713,21 +2709,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/changeset.lock.yml b/.github/workflows/changeset.lock.yml
index b3b43c92d9..66c5d83d49 100644
--- a/.github/workflows/changeset.lock.yml
+++ b/.github/workflows/changeset.lock.yml
@@ -147,10 +147,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
@@ -1943,8 +1940,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Changeset Format Reference
@@ -2524,21 +2520,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/ci-coach.lock.yml b/.github/workflows/ci-coach.lock.yml
index 8095d6b518..edee99b38d 100644
--- a/.github/workflows/ci-coach.lock.yml
+++ b/.github/workflows/ci-coach.lock.yml
@@ -112,10 +112,7 @@ jobs:
cache-dependency-path: 'pkg/workflow/js/package-lock.json'
package-manager-cache: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- env:
@@ -150,11 +147,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1929,8 +1922,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_NUMBER: ${{ github.run_number }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -3108,21 +3100,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/ci-doctor.lock.yml b/.github/workflows/ci-doctor.lock.yml
index 2cf46300ab..6b84ef2339 100644
--- a/.github/workflows/ci-doctor.lock.yml
+++ b/.github/workflows/ci-doctor.lock.yml
@@ -116,17 +116,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1962,8 +1955,7 @@ jobs:
GH_AW_GITHUB_EVENT_WORKFLOW_RUN_RUN_NUMBER: ${{ github.event.workflow_run.run_number }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# CI Failure Doctor
@@ -2501,21 +2493,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml
index dd1d0508e7..da8c7d6079 100644
--- a/.github/workflows/cli-consistency-checker.lock.yml
+++ b/.github/workflows/cli-consistency-checker.lock.yml
@@ -100,10 +100,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1890,8 +1887,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# CLI Consistency Checker
@@ -2420,21 +2416,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml
index cd4d9beb6d..827ea38e84 100644
--- a/.github/workflows/cli-version-checker.lock.yml
+++ b/.github/workflows/cli-version-checker.lock.yml
@@ -104,20 +104,13 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1886,8 +1879,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -2597,21 +2589,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml
index 50786c7133..066d1de808 100644
--- a/.github/workflows/cloclo.lock.yml
+++ b/.github/workflows/cloclo.lock.yml
@@ -189,10 +189,7 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Install dependencies
run: make deps-dev
- env:
@@ -208,11 +205,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2051,8 +2044,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2729,21 +2721,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/close-old-discussions.lock.yml b/.github/workflows/close-old-discussions.lock.yml
index d17bd15f67..c8680ad1b1 100644
--- a/.github/workflows/close-old-discussions.lock.yml
+++ b/.github/workflows/close-old-discussions.lock.yml
@@ -106,10 +106,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- env:
@@ -127,11 +124,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1874,8 +1867,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -2400,21 +2392,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml
index c118454cbf..92fd48301f 100644
--- a/.github/workflows/commit-changes-analyzer.lock.yml
+++ b/.github/workflows/commit-changes-analyzer.lock.yml
@@ -106,10 +106,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1850,8 +1847,7 @@ jobs:
GH_AW_GITHUB_EVENT_INPUTS_COMMIT_URL: ${{ github.event.inputs.commit_url }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2454,21 +2450,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml
index b0305ebbf1..1548bf2f49 100644
--- a/.github/workflows/copilot-agent-analysis.lock.yml
+++ b/.github/workflows/copilot-agent-analysis.lock.yml
@@ -107,10 +107,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- env:
@@ -121,11 +118,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1873,8 +1866,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -2820,21 +2812,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml
index 63ae2ffc9d..caa35557f9 100644
--- a/.github/workflows/copilot-pr-merged-report.lock.yml
+++ b/.github/workflows/copilot-pr-merged-report.lock.yml
@@ -105,10 +105,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -3004,69 +3001,7 @@ jobs:
export GH_AW_GH_TOKEN="${GH_AW_GH_TOKEN}"
export GH_DEBUG="${GH_DEBUG}"
- cd /tmp/gh-aw/safe-inputs
- # Verify required files exist
- echo "Verifying safe-inputs setup..."
- if [ ! -f mcp-server.cjs ]; then
- echo "ERROR: mcp-server.cjs not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- if [ ! -f tools.json ]; then
- echo "ERROR: tools.json not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- echo "Configuration files verified"
- # Log environment configuration
- echo "Server configuration:"
- echo " Port: $GH_AW_SAFE_INPUTS_PORT"
- echo " API Key: ${GH_AW_SAFE_INPUTS_API_KEY:0:8}..."
- echo " Working directory: $(pwd)"
- # Ensure logs directory exists
- mkdir -p /tmp/gh-aw/safe-inputs/logs
- # Create initial server.log file for artifact upload
- {
- echo "Safe Inputs MCP Server Log"
- echo "Start time: $(date)"
- echo "==========================================="
- echo ""
- } > /tmp/gh-aw/safe-inputs/logs/server.log
- # Start the HTTP server in the background
- echo "Starting safe-inputs MCP HTTP server..."
- node mcp-server.cjs >> /tmp/gh-aw/safe-inputs/logs/server.log 2>&1 &
- SERVER_PID=$!
- echo "Started safe-inputs MCP server with PID $SERVER_PID"
- # Wait for server to be ready (max 10 seconds)
- echo "Waiting for server to become ready..."
- for i in {1..10}; do
- # Check if process is still running
- if ! kill -0 $SERVER_PID 2>/dev/null; then
- echo "ERROR: Server process $SERVER_PID has died"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- exit 1
- fi
- # Check if server is responding
- if curl -s -f "http://localhost:$GH_AW_SAFE_INPUTS_PORT/health" > /dev/null 2>&1; then
- echo "Safe Inputs MCP server is ready (attempt $i/10)"
- break
- fi
- if [ "$i" -eq 10 ]; then
- echo "ERROR: Safe Inputs MCP server failed to start after 10 seconds"
- echo "Process status: $(pgrep -f 'mcp-server.cjs' || echo 'not running')"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- echo "Checking port availability:"
- netstat -tuln | grep "$GH_AW_SAFE_INPUTS_PORT" || echo "Port $GH_AW_SAFE_INPUTS_PORT not listening"
- exit 1
- fi
- echo "Waiting for server... (attempt $i/10)"
- sleep 1
- done
- # Output the configuration for the MCP client
- echo "port=$GH_AW_SAFE_INPUTS_PORT" >> "$GITHUB_OUTPUT"
- echo "api_key=$GH_AW_SAFE_INPUTS_API_KEY" >> "$GITHUB_OUTPUT"
+ bash /tmp/gh-aw/actions/start_safe_inputs_server.sh
- name: Setup MCPs
env:
@@ -3215,8 +3150,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
**IMPORTANT**: Always use the `safeinputs-gh` tool for GitHub CLI commands instead of running `gh` directly via bash. The `safeinputs-gh` tool has proper authentication configured with `GITHUB_TOKEN`, while bash commands do not have GitHub CLI authentication by default.
@@ -3731,21 +3665,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml
index 73f250174d..98e1ec5519 100644
--- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml
+++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml
@@ -110,10 +110,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- name: Setup Python environment
@@ -153,11 +150,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1950,8 +1943,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -3139,21 +3131,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml
index f25f77a198..b58b54881f 100644
--- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml
+++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml
@@ -107,10 +107,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- env:
@@ -121,11 +118,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1889,8 +1882,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -2634,21 +2626,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml
index 0a86aa70ec..4aef59ad74 100644
--- a/.github/workflows/copilot-session-insights.lock.yml
+++ b/.github/workflows/copilot-session-insights.lock.yml
@@ -112,10 +112,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -148,11 +145,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1930,8 +1923,7 @@ jobs:
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
GH_AW_GITHUB_WORKFLOW: ${{ github.workflow }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -3574,21 +3566,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml
index ee392fd656..0dec303883 100644
--- a/.github/workflows/craft.lock.yml
+++ b/.github/workflows/craft.lock.yml
@@ -137,10 +137,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Install gh-aw extension
run: |-
gh extension remove gh-aw || true
@@ -1933,8 +1930,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Workflow Craft Agent
@@ -2563,21 +2559,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml
index 7ed00ed689..45281db036 100644
--- a/.github/workflows/daily-assign-issue-to-user.lock.yml
+++ b/.github/workflows/daily-assign-issue-to-user.lock.yml
@@ -99,10 +99,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1888,8 +1885,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2211,21 +2207,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-choice-test.lock.yml b/.github/workflows/daily-choice-test.lock.yml
index 8bba15419d..ae818fb0b7 100644
--- a/.github/workflows/daily-choice-test.lock.yml
+++ b/.github/workflows/daily-choice-test.lock.yml
@@ -1783,7 +1783,8 @@ jobs:
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
- run: bash /tmp/gh-aw/actions/create_prompt_first.sh
+ run: |
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Daily Choice Type Test
diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml
index 3846e42d89..fa717e9929 100644
--- a/.github/workflows/daily-code-metrics.lock.yml
+++ b/.github/workflows/daily-code-metrics.lock.yml
@@ -105,10 +105,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: |
mkdir -p /tmp/gh-aw/python/{data,charts,artifacts}
@@ -134,11 +131,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1885,8 +1878,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2331,21 +2323,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-copilot-token-report.lock.yml b/.github/workflows/daily-copilot-token-report.lock.yml
index f715b97fb7..3d6e269391 100644
--- a/.github/workflows/daily-copilot-token-report.lock.yml
+++ b/.github/workflows/daily-copilot-token-report.lock.yml
@@ -108,10 +108,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: "# Create working directory for Python scripts\nmkdir -p /tmp/gh-aw/python\nmkdir -p /tmp/gh-aw/python/data\nmkdir -p /tmp/gh-aw/python/charts\nmkdir -p /tmp/gh-aw/python/artifacts\n\necho \"Python environment setup complete\"\necho \"Working directory: /tmp/gh-aw/python\"\necho \"Data directory: /tmp/gh-aw/python/data\"\necho \"Charts directory: /tmp/gh-aw/python/charts\"\necho \"Artifacts directory: /tmp/gh-aw/python/artifacts\"\n"
- name: Install Python scientific libraries
@@ -152,11 +149,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1947,8 +1940,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -3236,21 +3228,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml
index 55e64525ff..5d481b2ea5 100644
--- a/.github/workflows/daily-doc-updater.lock.yml
+++ b/.github/workflows/daily-doc-updater.lock.yml
@@ -100,17 +100,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1867,8 +1860,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2412,21 +2404,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml
index f08efc5a1b..647626fe7d 100644
--- a/.github/workflows/daily-fact.lock.yml
+++ b/.github/workflows/daily-fact.lock.yml
@@ -101,10 +101,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1819,8 +1816,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2223,21 +2219,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml
index 9848c0616e..6ebae50771 100644
--- a/.github/workflows/daily-file-diet.lock.yml
+++ b/.github/workflows/daily-file-diet.lock.yml
@@ -124,10 +124,7 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: "# Create working directory for Python scripts\nmkdir -p /tmp/gh-aw/python\nmkdir -p /tmp/gh-aw/python/data\nmkdir -p /tmp/gh-aw/python/charts\nmkdir -p /tmp/gh-aw/python/artifacts\n\necho \"Python environment setup complete\"\necho \"Working directory: /tmp/gh-aw/python\"\necho \"Data directory: /tmp/gh-aw/python/data\"\necho \"Charts directory: /tmp/gh-aw/python/charts\"\necho \"Artifacts directory: /tmp/gh-aw/python/artifacts\"\n"
- name: Install Python scientific libraries
@@ -153,11 +150,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2006,8 +1999,7 @@ jobs:
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -3177,21 +3169,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml
index b425b12a23..8ae5903a2b 100644
--- a/.github/workflows/daily-firewall-report.lock.yml
+++ b/.github/workflows/daily-firewall-report.lock.yml
@@ -110,10 +110,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
@@ -154,11 +151,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1985,8 +1978,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2705,21 +2697,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml
index 78c989ccfe..34ff426095 100644
--- a/.github/workflows/daily-issues-report.lock.yml
+++ b/.github/workflows/daily-issues-report.lock.yml
@@ -115,10 +115,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- env:
@@ -151,11 +148,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1981,8 +1974,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -3320,21 +3312,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-malicious-code-scan.lock.yml b/.github/workflows/daily-malicious-code-scan.lock.yml
index 0371273e3d..83e57636fc 100644
--- a/.github/workflows/daily-malicious-code-scan.lock.yml
+++ b/.github/workflows/daily-malicious-code-scan.lock.yml
@@ -100,10 +100,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1898,8 +1895,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2530,21 +2526,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml
index 290cdd68cf..83ebf60290 100644
--- a/.github/workflows/daily-multi-device-docs-tester.lock.yml
+++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml
@@ -108,10 +108,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1922,8 +1919,7 @@ jobs:
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
GH_AW_INPUTS_DEVICES: ${{ inputs.devices }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2380,21 +2376,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml
index d6e648adeb..c1c7dde40c 100644
--- a/.github/workflows/daily-news.lock.yml
+++ b/.github/workflows/daily-news.lock.yml
@@ -112,10 +112,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- name: Setup Python environment
@@ -149,11 +146,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1967,8 +1960,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -3028,21 +3020,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml
index ddf9344e26..581b6b5ecf 100644
--- a/.github/workflows/daily-performance-summary.lock.yml
+++ b/.github/workflows/daily-performance-summary.lock.yml
@@ -111,10 +111,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: |
mkdir -p /tmp/gh-aw/python/{data,charts,artifacts}
@@ -140,11 +137,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -3454,69 +3447,7 @@ jobs:
export GH_TOKEN="${GH_TOKEN}"
- cd /tmp/gh-aw/safe-inputs
- # Verify required files exist
- echo "Verifying safe-inputs setup..."
- if [ ! -f mcp-server.cjs ]; then
- echo "ERROR: mcp-server.cjs not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- if [ ! -f tools.json ]; then
- echo "ERROR: tools.json not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- echo "Configuration files verified"
- # Log environment configuration
- echo "Server configuration:"
- echo " Port: $GH_AW_SAFE_INPUTS_PORT"
- echo " API Key: ${GH_AW_SAFE_INPUTS_API_KEY:0:8}..."
- echo " Working directory: $(pwd)"
- # Ensure logs directory exists
- mkdir -p /tmp/gh-aw/safe-inputs/logs
- # Create initial server.log file for artifact upload
- {
- echo "Safe Inputs MCP Server Log"
- echo "Start time: $(date)"
- echo "==========================================="
- echo ""
- } > /tmp/gh-aw/safe-inputs/logs/server.log
- # Start the HTTP server in the background
- echo "Starting safe-inputs MCP HTTP server..."
- node mcp-server.cjs >> /tmp/gh-aw/safe-inputs/logs/server.log 2>&1 &
- SERVER_PID=$!
- echo "Started safe-inputs MCP server with PID $SERVER_PID"
- # Wait for server to be ready (max 10 seconds)
- echo "Waiting for server to become ready..."
- for i in {1..10}; do
- # Check if process is still running
- if ! kill -0 $SERVER_PID 2>/dev/null; then
- echo "ERROR: Server process $SERVER_PID has died"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- exit 1
- fi
- # Check if server is responding
- if curl -s -f "http://localhost:$GH_AW_SAFE_INPUTS_PORT/health" > /dev/null 2>&1; then
- echo "Safe Inputs MCP server is ready (attempt $i/10)"
- break
- fi
- if [ "$i" -eq 10 ]; then
- echo "ERROR: Safe Inputs MCP server failed to start after 10 seconds"
- echo "Process status: $(pgrep -f 'mcp-server.cjs' || echo 'not running')"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- echo "Checking port availability:"
- netstat -tuln | grep "$GH_AW_SAFE_INPUTS_PORT" || echo "Port $GH_AW_SAFE_INPUTS_PORT not listening"
- exit 1
- fi
- echo "Waiting for server... (attempt $i/10)"
- sleep 1
- done
- # Output the configuration for the MCP client
- echo "port=$GH_AW_SAFE_INPUTS_PORT" >> "$GITHUB_OUTPUT"
- echo "api_key=$GH_AW_SAFE_INPUTS_API_KEY" >> "$GITHUB_OUTPUT"
+ bash /tmp/gh-aw/actions/start_safe_inputs_server.sh
- name: Setup MCPs
env:
@@ -3660,8 +3591,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -4532,21 +4462,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml
index 630ab89d27..0b62e5b211 100644
--- a/.github/workflows/daily-repo-chronicle.lock.yml
+++ b/.github/workflows/daily-repo-chronicle.lock.yml
@@ -109,10 +109,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: "# Create working directory for Python scripts\nmkdir -p /tmp/gh-aw/python\nmkdir -p /tmp/gh-aw/python/data\nmkdir -p /tmp/gh-aw/python/charts\nmkdir -p /tmp/gh-aw/python/artifacts\n\necho \"Python environment setup complete\"\necho \"Working directory: /tmp/gh-aw/python\"\necho \"Data directory: /tmp/gh-aw/python/data\"\necho \"Charts directory: /tmp/gh-aw/python/charts\"\necho \"Artifacts directory: /tmp/gh-aw/python/artifacts\"\n"
- name: Install Python scientific libraries
@@ -138,11 +135,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1933,8 +1926,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2951,21 +2943,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml
index 6752573ebc..08047dfcad 100644
--- a/.github/workflows/daily-team-status.lock.yml
+++ b/.github/workflows/daily-team-status.lock.yml
@@ -113,10 +113,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1890,8 +1887,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Formatting
@@ -2295,21 +2291,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml
index fa3ede50f6..b50a70d59f 100644
--- a/.github/workflows/daily-workflow-updater.lock.yml
+++ b/.github/workflows/daily-workflow-updater.lock.yml
@@ -100,10 +100,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1866,8 +1863,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2344,21 +2340,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml
index c828107788..71cfc9aaea 100644
--- a/.github/workflows/deep-report.lock.yml
+++ b/.github/workflows/deep-report.lock.yml
@@ -112,10 +112,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- env:
@@ -141,11 +138,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1945,8 +1938,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -2798,21 +2790,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml
index 7a30aed072..426eea6576 100644
--- a/.github/workflows/dependabot-go-checker.lock.yml
+++ b/.github/workflows/dependabot-go-checker.lock.yml
@@ -101,10 +101,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1928,8 +1925,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Dependabot Dependency Checker
@@ -2689,21 +2685,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml
index 89b1c224eb..32cf26ce7d 100644
--- a/.github/workflows/dev-hawk.lock.yml
+++ b/.github/workflows/dev-hawk.lock.yml
@@ -114,10 +114,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
@@ -1894,8 +1891,7 @@ jobs:
GH_AW_GITHUB_EVENT_WORKFLOW_RUN_STATUS: ${{ github.event.workflow_run.status }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2458,21 +2454,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml
index da9ec75766..95dfb0601d 100644
--- a/.github/workflows/dev.lock.yml
+++ b/.github/workflows/dev.lock.yml
@@ -101,10 +101,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1841,8 +1838,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Read Issue and Post Poem
@@ -2156,21 +2152,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml
index f7e265a1b1..e302a810b2 100644
--- a/.github/workflows/developer-docs-consolidator.lock.yml
+++ b/.github/workflows/developer-docs-consolidator.lock.yml
@@ -117,17 +117,10 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1951,8 +1944,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2964,21 +2956,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml
index f508e0cb07..ce0827d6cd 100644
--- a/.github/workflows/dictation-prompt.lock.yml
+++ b/.github/workflows/dictation-prompt.lock.yml
@@ -103,10 +103,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1869,8 +1866,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2271,21 +2267,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml
index d1af188d4d..d1e7d5de7d 100644
--- a/.github/workflows/docs-noob-tester.lock.yml
+++ b/.github/workflows/docs-noob-tester.lock.yml
@@ -103,10 +103,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1897,8 +1894,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Documentation Noob Testing
@@ -2429,21 +2425,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/duplicate-code-detector.lock.yml b/.github/workflows/duplicate-code-detector.lock.yml
index f529c3d504..b9a8c2ca35 100644
--- a/.github/workflows/duplicate-code-detector.lock.yml
+++ b/.github/workflows/duplicate-code-detector.lock.yml
@@ -112,10 +112,7 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1883,8 +1880,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Duplicate Code Detection
@@ -2455,21 +2451,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/example-permissions-warning.lock.yml b/.github/workflows/example-permissions-warning.lock.yml
index c5ae8742e3..a7de51da35 100644
--- a/.github/workflows/example-permissions-warning.lock.yml
+++ b/.github/workflows/example-permissions-warning.lock.yml
@@ -89,10 +89,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -341,8 +338,7 @@ jobs:
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Example: Properly Provisioned Permissions
@@ -638,21 +634,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml
index 3c89978381..db8ba0dff4 100644
--- a/.github/workflows/example-workflow-analyzer.lock.yml
+++ b/.github/workflows/example-workflow-analyzer.lock.yml
@@ -105,10 +105,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1867,8 +1864,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2210,21 +2206,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/firewall-escape.lock.yml b/.github/workflows/firewall-escape.lock.yml
index 9ae43c90be..84b0e13a90 100644
--- a/.github/workflows/firewall-escape.lock.yml
+++ b/.github/workflows/firewall-escape.lock.yml
@@ -101,17 +101,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Cache memory file share data
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -381,8 +374,7 @@ jobs:
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
*Auto-generated by firewall escape test workflow*`,
labels: ['bug', 'firewall', 'automated']
@@ -853,21 +845,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/firewall.lock.yml b/.github/workflows/firewall.lock.yml
index e66da0ecde..29c295eedf 100644
--- a/.github/workflows/firewall.lock.yml
+++ b/.github/workflows/firewall.lock.yml
@@ -89,10 +89,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -356,8 +353,7 @@ jobs:
GH_AW_GITHUB_ACTOR: ${{ github.actor }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Firewall Test Agent
@@ -705,21 +701,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml
index bbc9f1df7d..70219cbdc7 100644
--- a/.github/workflows/github-mcp-structural-analysis.lock.yml
+++ b/.github/workflows/github-mcp-structural-analysis.lock.yml
@@ -110,10 +110,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: "# Create working directory for Python scripts\nmkdir -p /tmp/gh-aw/python\nmkdir -p /tmp/gh-aw/python/data\nmkdir -p /tmp/gh-aw/python/charts\nmkdir -p /tmp/gh-aw/python/artifacts\n\necho \"Python environment setup complete\"\necho \"Working directory: /tmp/gh-aw/python\"\necho \"Data directory: /tmp/gh-aw/python/data\"\necho \"Charts directory: /tmp/gh-aw/python/charts\"\necho \"Artifacts directory: /tmp/gh-aw/python/artifacts\"\n"
- name: Install Python scientific libraries
@@ -139,11 +136,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1920,8 +1913,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Python Data Visualization Guide
@@ -2927,21 +2919,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml
index 96362796ae..12589f7b70 100644
--- a/.github/workflows/github-mcp-tools-report.lock.yml
+++ b/.github/workflows/github-mcp-tools-report.lock.yml
@@ -107,17 +107,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1887,8 +1880,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2780,21 +2772,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml
index cafd35ee42..b528a6cd17 100644
--- a/.github/workflows/glossary-maintainer.lock.yml
+++ b/.github/workflows/glossary-maintainer.lock.yml
@@ -117,17 +117,10 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1905,8 +1898,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
### Documentation
@@ -2930,21 +2922,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml
index fff3f7c260..a5103e04be 100644
--- a/.github/workflows/go-fan.lock.yml
+++ b/.github/workflows/go-fan.lock.yml
@@ -116,17 +116,10 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1888,8 +1881,7 @@ jobs:
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2568,21 +2560,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/go-file-size-reduction-project64.campaign.g.lock.yml b/.github/workflows/go-file-size-reduction-project64.campaign.g.lock.yml
index 48ba8c6b81..c4e67f7b07 100644
--- a/.github/workflows/go-file-size-reduction-project64.campaign.g.lock.yml
+++ b/.github/workflows/go-file-size-reduction-project64.campaign.g.lock.yml
@@ -100,10 +100,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1954,8 +1951,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2453,21 +2449,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml
index a453e52e1a..17cb223c7e 100644
--- a/.github/workflows/go-logger.lock.yml
+++ b/.github/workflows/go-logger.lock.yml
@@ -107,10 +107,7 @@ jobs:
cache-dependency-path: 'pkg/workflow/js/package-lock.json'
package-manager-cache: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c
with:
@@ -122,11 +119,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1882,8 +1875,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Go Logger Enhancement
@@ -2486,21 +2478,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml
index 8f9768d26f..3690e0eff2 100644
--- a/.github/workflows/go-pattern-detector.lock.yml
+++ b/.github/workflows/go-pattern-detector.lock.yml
@@ -106,10 +106,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1882,8 +1879,7 @@ jobs:
GH_AW_GITHUB_EVENT_AFTER: ${{ github.event.after }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## ast-grep MCP Server
@@ -2368,21 +2364,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml
index 3f668c9bca..82ee4723f0 100644
--- a/.github/workflows/grumpy-reviewer.lock.yml
+++ b/.github/workflows/grumpy-reviewer.lock.yml
@@ -141,17 +141,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1974,8 +1967,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Grumpy Code Reviewer ๐ฅ
@@ -2491,21 +2483,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/hourly-ci-cleaner.lock.yml b/.github/workflows/hourly-ci-cleaner.lock.yml
index e080bd6cb2..109d79ea2d 100644
--- a/.github/workflows/hourly-ci-cleaner.lock.yml
+++ b/.github/workflows/hourly-ci-cleaner.lock.yml
@@ -114,10 +114,7 @@ jobs:
cache-dependency-path: 'pkg/workflow/js/package-lock.json'
package-manager-cache: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Install Make
run: |
sudo apt-get update
@@ -1899,8 +1896,7 @@ jobs:
GH_AW_NEEDS_CHECK_CI_STATUS_OUTPUTS_CI_RUN_ID: ${{ needs.check_ci_status.outputs.ci_run_id }}
GH_AW_NEEDS_CHECK_CI_STATUS_OUTPUTS_CI_STATUS: ${{ needs.check_ci_status.outputs.ci_status }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# CI Cleaner Agent
@@ -2601,21 +2597,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/human-ai-collaboration.lock.yml b/.github/workflows/human-ai-collaboration.lock.yml
index cfab1f82a1..d4ee95c041 100644
--- a/.github/workflows/human-ai-collaboration.lock.yml
+++ b/.github/workflows/human-ai-collaboration.lock.yml
@@ -101,10 +101,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Repo memory git-based storage configuration from frontmatter processed below
- name: Clone repo-memory branch (default)
env:
@@ -1910,8 +1907,7 @@ jobs:
GH_AW_GITHUB_EVENT_INPUTS_SCOPE: ${{ github.event.inputs.scope }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Human-AI Collaboration Campaign Pattern
@@ -2730,21 +2726,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/incident-response.lock.yml b/.github/workflows/incident-response.lock.yml
index c0188d02b7..cffc3e796a 100644
--- a/.github/workflows/incident-response.lock.yml
+++ b/.github/workflows/incident-response.lock.yml
@@ -115,10 +115,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Repo memory git-based storage configuration from frontmatter processed below
- name: Clone repo-memory branch (default)
env:
@@ -2063,8 +2060,7 @@ jobs:
GH_AW_GITHUB_EVENT_INPUTS_STAKEHOLDER_ISSUE: ${{ github.event.inputs.stakeholder_issue }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Campaign: Incident Response Coordination
@@ -2858,21 +2854,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml
index 7833560d48..47f62daff2 100644
--- a/.github/workflows/instructions-janitor.lock.yml
+++ b/.github/workflows/instructions-janitor.lock.yml
@@ -100,17 +100,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1866,8 +1859,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Instructions Janitor
@@ -2370,21 +2362,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/intelligence.lock.yml b/.github/workflows/intelligence.lock.yml
index 9d1004d3ea..f614814275 100644
--- a/.github/workflows/intelligence.lock.yml
+++ b/.github/workflows/intelligence.lock.yml
@@ -117,10 +117,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: "# Create working directory for Python scripts\nmkdir -p /tmp/gh-aw/python\nmkdir -p /tmp/gh-aw/python/data\nmkdir -p /tmp/gh-aw/python/charts\nmkdir -p /tmp/gh-aw/python/artifacts\n\necho \"Python environment setup complete\"\necho \"Working directory: /tmp/gh-aw/python\"\necho \"Data directory: /tmp/gh-aw/python/data\"\necho \"Charts directory: /tmp/gh-aw/python/charts\"\necho \"Artifacts directory: /tmp/gh-aw/python/artifacts\"\n"
- name: Install Python scientific libraries
@@ -146,11 +143,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1991,8 +1984,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Trends Visualization Guide
@@ -3409,21 +3401,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml
index db4f915b42..6a87925556 100644
--- a/.github/workflows/issue-arborist.lock.yml
+++ b/.github/workflows/issue-arborist.lock.yml
@@ -103,10 +103,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- env:
@@ -1960,8 +1957,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -2525,21 +2521,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/issue-classifier.lock.yml b/.github/workflows/issue-classifier.lock.yml
index 0419610e59..f20f36b8f4 100644
--- a/.github/workflows/issue-classifier.lock.yml
+++ b/.github/workflows/issue-classifier.lock.yml
@@ -136,10 +136,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1825,8 +1822,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2212,21 +2208,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
@@ -2242,7 +2224,7 @@ jobs:
path: /tmp/gh-aw/aw_info.json
if-no-files-found: warn
- name: Run AI Inference
- uses: actions/ai-inference@334892bb203895caaed82ec52d23c1ed9385151e # v2.0.4
+ uses: actions/ai-inference@334892bb203895caaed82ec52d23c1ed9385151e # v1
env:
GH_AW_MCP_CONFIG: /tmp/gh-aw/mcp-config/mcp-servers.json
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
diff --git a/.github/workflows/issue-monster.lock.yml b/.github/workflows/issue-monster.lock.yml
index 8056ae9bcf..73bc56715d 100644
--- a/.github/workflows/issue-monster.lock.yml
+++ b/.github/workflows/issue-monster.lock.yml
@@ -109,10 +109,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1891,8 +1888,7 @@ jobs:
GH_AW_NEEDS_SEARCH_ISSUES_OUTPUTS_ISSUE_LIST: ${{ needs.search_issues.outputs.issue_list }}
GH_AW_NEEDS_SEARCH_ISSUES_OUTPUTS_ISSUE_NUMBERS: ${{ needs.search_issues.outputs.issue_numbers }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2423,21 +2419,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml
index fc2b1cb3ad..2768238e4e 100644
--- a/.github/workflows/issue-triage-agent.lock.yml
+++ b/.github/workflows/issue-triage-agent.lock.yml
@@ -92,10 +92,7 @@ jobs:
with:
destination: /tmp/gh-aw/actions
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1834,8 +1831,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Issue Triage Agent
@@ -2186,21 +2182,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/jsweep.lock.yml b/.github/workflows/jsweep.lock.yml
index 3eb6642796..2f900cfc77 100644
--- a/.github/workflows/jsweep.lock.yml
+++ b/.github/workflows/jsweep.lock.yml
@@ -114,17 +114,10 @@ jobs:
- name: Install TypeScript language service
run: npm install -g --silent typescript-language-server typescript
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1903,8 +1896,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# jsweep - JavaScript Unbloater
@@ -2432,21 +2424,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/layout-spec-maintainer.lock.yml b/.github/workflows/layout-spec-maintainer.lock.yml
index d21b8342d6..b5c539bc51 100644
--- a/.github/workflows/layout-spec-maintainer.lock.yml
+++ b/.github/workflows/layout-spec-maintainer.lock.yml
@@ -98,10 +98,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache configuration from frontmatter processed below
- name: Cache (layout-spec-cache-${{ github.run_id }})
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
@@ -1871,8 +1868,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Layout Specification Maintainer
@@ -2461,21 +2457,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml
index 8122f9fba2..09c5944b6a 100644
--- a/.github/workflows/lockfile-stats.lock.yml
+++ b/.github/workflows/lockfile-stats.lock.yml
@@ -104,17 +104,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1861,8 +1854,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2572,21 +2564,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml
index 680119eced..f44b51150a 100644
--- a/.github/workflows/mcp-inspector.lock.yml
+++ b/.github/workflows/mcp-inspector.lock.yml
@@ -137,10 +137,7 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Install dependencies
run: make deps-dev
- env:
@@ -156,11 +153,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2155,8 +2148,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2693,21 +2685,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml
index fa4f101556..f39eae4d4c 100644
--- a/.github/workflows/mergefest.lock.yml
+++ b/.github/workflows/mergefest.lock.yml
@@ -123,10 +123,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup git configuration
run: "git config user.name \"github-actions[bot]\"\ngit config user.email \"github-actions[bot]@users.noreply.github.com\"\n\n# Create .gitignore to exclude workflow YAML files\ncat > /tmp/merge-gitignore << 'EOF'\n# Exclude all .yml files in .github/workflows/\n.github/workflows/*.yml\nEOF"
@@ -1881,8 +1878,7 @@ jobs:
GH_AW_GITHUB_EVENT_PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Mergefest - Merge Main into Pull Request Branch
@@ -2556,21 +2552,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/notion-issue-summary.lock.yml b/.github/workflows/notion-issue-summary.lock.yml
index 4ee1fe8c8e..97a77622a1 100644
--- a/.github/workflows/notion-issue-summary.lock.yml
+++ b/.github/workflows/notion-issue-summary.lock.yml
@@ -106,10 +106,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1833,8 +1830,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_EXPR_FD3E9604: ${{ github.event.inputs.issue-number }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2187,21 +2183,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml
index 95c865ea0d..8ac411895c 100644
--- a/.github/workflows/org-health-report.lock.yml
+++ b/.github/workflows/org-health-report.lock.yml
@@ -111,10 +111,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: "# Create working directory for Python scripts\nmkdir -p /tmp/gh-aw/python\nmkdir -p /tmp/gh-aw/python/data\nmkdir -p /tmp/gh-aw/python/charts\nmkdir -p /tmp/gh-aw/python/artifacts\n\necho \"Python environment setup complete\"\necho \"Working directory: /tmp/gh-aw/python\"\necho \"Data directory: /tmp/gh-aw/python/data\"\necho \"Charts directory: /tmp/gh-aw/python/charts\"\necho \"Artifacts directory: /tmp/gh-aw/python/artifacts\"\n"
- name: Install Python scientific libraries
@@ -142,11 +139,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1936,8 +1929,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Python Data Visualization Guide
@@ -3065,21 +3057,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/org-wide-rollout.lock.yml b/.github/workflows/org-wide-rollout.lock.yml
index a8744159a4..2f1ba23bab 100644
--- a/.github/workflows/org-wide-rollout.lock.yml
+++ b/.github/workflows/org-wide-rollout.lock.yml
@@ -122,10 +122,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Repo memory git-based storage configuration from frontmatter processed below
- name: Clone repo-memory branch (default)
env:
@@ -2071,8 +2068,7 @@ jobs:
GH_AW_GITHUB_EVENT_INPUTS_TARGET_REPOS: ${{ github.event.inputs.target_repos }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Campaign: Organization-Wide Rollout
@@ -2886,21 +2882,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml
index cf47aae517..061741c4e3 100644
--- a/.github/workflows/pdf-summary.lock.yml
+++ b/.github/workflows/pdf-summary.lock.yml
@@ -163,20 +163,13 @@ jobs:
with:
python-version: '3.12'
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Install Markitdown MCP
run: pip install markitdown-mcp
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1934,8 +1927,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2479,21 +2471,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml
index 01072ed4e6..2a6aa81c81 100644
--- a/.github/workflows/plan.lock.yml
+++ b/.github/workflows/plan.lock.yml
@@ -141,10 +141,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1979,8 +1976,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Planning Assistant
@@ -2523,21 +2519,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/playground-org-project-update-issue.lock.yml b/.github/workflows/playground-org-project-update-issue.lock.yml
index c7141038e9..e14ffa9ca9 100644
--- a/.github/workflows/playground-org-project-update-issue.lock.yml
+++ b/.github/workflows/playground-org-project-update-issue.lock.yml
@@ -97,10 +97,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1915,8 +1912,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Issue Updater
@@ -2227,21 +2223,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/playground-snapshots-refresh.lock.yml b/.github/workflows/playground-snapshots-refresh.lock.yml
index 2778d53d9b..16e0d18122 100644
--- a/.github/workflows/playground-snapshots-refresh.lock.yml
+++ b/.github/workflows/playground-snapshots-refresh.lock.yml
@@ -95,10 +95,7 @@ jobs:
with:
destination: /tmp/gh-aw/actions
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Checkout
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
with:
@@ -1881,8 +1878,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Playground snapshots refresh
@@ -2219,21 +2215,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml
index 08fc0a96ce..10e6bf7e25 100644
--- a/.github/workflows/poem-bot.lock.yml
+++ b/.github/workflows/poem-bot.lock.yml
@@ -147,17 +147,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2438,8 +2431,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Poem Bot - A Creative Agentic Workflow
@@ -2890,21 +2882,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/portfolio-analyst.lock.yml b/.github/workflows/portfolio-analyst.lock.yml
index 8dfca58174..41715740fa 100644
--- a/.github/workflows/portfolio-analyst.lock.yml
+++ b/.github/workflows/portfolio-analyst.lock.yml
@@ -111,10 +111,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
@@ -163,11 +160,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1966,8 +1959,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -3056,21 +3048,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml
index ccf7b29bd8..ada0c40bb4 100644
--- a/.github/workflows/pr-nitpick-reviewer.lock.yml
+++ b/.github/workflows/pr-nitpick-reviewer.lock.yml
@@ -156,17 +156,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2042,8 +2035,7 @@ jobs:
GH_AW_GITHUB_EVENT_PULL_REQUEST_TITLE: ${{ github.event.pull_request.title }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2801,21 +2793,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml
index 6403c1a16e..8d5dcbce56 100644
--- a/.github/workflows/prompt-clustering-analysis.lock.yml
+++ b/.github/workflows/prompt-clustering-analysis.lock.yml
@@ -111,10 +111,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up jq utilities directory
run: "mkdir -p /tmp/gh-aw\ncat > /tmp/gh-aw/jqschema.sh << 'EOF'\n#!/usr/bin/env bash\n# jqschema.sh\njq -c '\ndef walk(f):\n . as $in |\n if type == \"object\" then\n reduce keys[] as $k ({}; . + {($k): ($in[$k] | walk(f))})\n elif type == \"array\" then\n if length == 0 then [] else [.[0] | walk(f)] end\n else\n type\n end;\nwalk(.)\n'\nEOF\nchmod +x /tmp/gh-aw/jqschema.sh"
- name: Set up Go
@@ -182,11 +179,7 @@ jobs:
restore-keys: prompt-clustering-cache-
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1938,8 +1931,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## jqschema - JSON Schema Discovery
@@ -3024,21 +3016,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml
index d8a66cd027..f36a9b9430 100644
--- a/.github/workflows/python-data-charts.lock.yml
+++ b/.github/workflows/python-data-charts.lock.yml
@@ -107,10 +107,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: "# Create working directory for Python scripts\nmkdir -p /tmp/gh-aw/python\nmkdir -p /tmp/gh-aw/python/data\nmkdir -p /tmp/gh-aw/python/charts\nmkdir -p /tmp/gh-aw/python/artifacts\n\necho \"Python environment setup complete\"\necho \"Working directory: /tmp/gh-aw/python\"\necho \"Data directory: /tmp/gh-aw/python/data\"\necho \"Charts directory: /tmp/gh-aw/python/charts\"\necho \"Artifacts directory: /tmp/gh-aw/python/artifacts\"\n"
- name: Install Python scientific libraries
@@ -136,11 +133,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1955,8 +1948,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Charts with Trending - Complete Guide
@@ -3357,21 +3349,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml
index 166ecb88f1..df0046214c 100644
--- a/.github/workflows/q.lock.yml
+++ b/.github/workflows/q.lock.yml
@@ -184,10 +184,7 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Install dependencies
run: make deps-dev
- env:
@@ -201,11 +198,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2045,8 +2038,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2830,21 +2822,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/release.lock.yml b/.github/workflows/release.lock.yml
index ce61da11ec..f7227874e1 100644
--- a/.github/workflows/release.lock.yml
+++ b/.github/workflows/release.lock.yml
@@ -103,10 +103,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_ID: ${{ needs.release.outputs.release_id }}
@@ -1872,8 +1869,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_RELEASE_OUTPUTS_RELEASE_ID: ${{ needs.release.outputs.release_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Release Highlights Generator
@@ -2359,21 +2355,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
@@ -6056,13 +6038,13 @@ jobs:
- name: Download Go modules
run: go mod download
- name: Generate SBOM (SPDX format)
- uses: anchore/sbom-action@43a17d6e7add2b5535efe4dcae9952337c479a93 # v0.20.11
+ uses: anchore/sbom-action@43a17d6e7add2b5535efe4dcae9952337c479a93 # v0.20.10
with:
artifact-name: sbom.spdx.json
format: spdx-json
output-file: sbom.spdx.json
- name: Generate SBOM (CycloneDX format)
- uses: anchore/sbom-action@43a17d6e7add2b5535efe4dcae9952337c479a93 # v0.20.11
+ uses: anchore/sbom-action@43a17d6e7add2b5535efe4dcae9952337c479a93 # v0.20.10
with:
artifact-name: sbom.cdx.json
format: cyclonedx-json
@@ -6261,7 +6243,7 @@ jobs:
fetch-depth: 0
persist-credentials: false
- name: Release with gh-extension-precompile
- uses: cli/gh-extension-precompile@9e2237c30f869ad3bcaed6a4be2cd43564dd421b # v2.1.0
+ uses: cli/gh-extension-precompile@9e2237c30f869ad3bcaed6a4be2cd43564dd421b # v2
with:
build_script_override: scripts/build-release.sh
go_version_file: go.mod
diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml
index 8514bcc1e6..617c2c2ffe 100644
--- a/.github/workflows/repo-tree-map.lock.yml
+++ b/.github/workflows/repo-tree-map.lock.yml
@@ -104,10 +104,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1860,8 +1857,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2305,21 +2301,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml
index 6577bc1eb5..20029c9c70 100644
--- a/.github/workflows/repository-quality-improver.lock.yml
+++ b/.github/workflows/repository-quality-improver.lock.yml
@@ -116,10 +116,7 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory (focus-areas)
run: |
@@ -1892,8 +1889,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2856,21 +2852,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml
index ec48c15481..18e106d946 100644
--- a/.github/workflows/research.lock.yml
+++ b/.github/workflows/research.lock.yml
@@ -107,10 +107,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1879,8 +1876,7 @@ jobs:
GH_AW_GITHUB_EVENT_INPUTS_TOPIC: ${{ github.event.inputs.topic }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2267,21 +2263,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml
index 37f8954f32..2c9e3333a6 100644
--- a/.github/workflows/safe-output-health.lock.yml
+++ b/.github/workflows/safe-output-health.lock.yml
@@ -107,10 +107,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
@@ -135,11 +132,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1890,8 +1883,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2694,21 +2686,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml
index 705a976a4b..92a0613143 100644
--- a/.github/workflows/schema-consistency-checker.lock.yml
+++ b/.github/workflows/schema-consistency-checker.lock.yml
@@ -105,17 +105,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1824,8 +1817,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2516,21 +2508,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml
index 484fa5141c..9520b02f90 100644
--- a/.github/workflows/scout.lock.yml
+++ b/.github/workflows/scout.lock.yml
@@ -189,10 +189,7 @@ jobs:
with:
python-version: '3.12'
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Install Markitdown MCP
run: pip install markitdown-mcp
- name: Set up jq utilities directory
@@ -200,11 +197,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1985,8 +1978,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2653,21 +2645,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/security-compliance.lock.yml b/.github/workflows/security-compliance.lock.yml
index 8a4cf07015..b93cfe5186 100644
--- a/.github/workflows/security-compliance.lock.yml
+++ b/.github/workflows/security-compliance.lock.yml
@@ -106,10 +106,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Repo memory git-based storage configuration from frontmatter processed below
- name: Clone repo-memory branch (default)
env:
@@ -1916,8 +1913,7 @@ jobs:
GH_AW_GITHUB_EVENT_INPUTS_SEVERITY_THRESHOLD: ${{ github.event.inputs.severity_threshold }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Security Compliance Campaign
@@ -2550,21 +2546,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/security-fix-pr.lock.yml b/.github/workflows/security-fix-pr.lock.yml
index ac7b0a60ac..7502c4e59c 100644
--- a/.github/workflows/security-fix-pr.lock.yml
+++ b/.github/workflows/security-fix-pr.lock.yml
@@ -108,17 +108,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1877,8 +1870,7 @@ jobs:
GH_AW_GITHUB_EVENT_INPUTS_SECURITY_URL: ${{ github.event.inputs.security_url }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Security Issue Fix Agent
@@ -2403,21 +2395,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml
index 0d9416eb68..ec4d82a7bd 100644
--- a/.github/workflows/semantic-function-refactor.lock.yml
+++ b/.github/workflows/semantic-function-refactor.lock.yml
@@ -104,10 +104,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1906,8 +1903,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2708,21 +2704,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/slide-deck-maintainer.lock.yml b/.github/workflows/slide-deck-maintainer.lock.yml
index 970786e3f8..e53523f263 100644
--- a/.github/workflows/slide-deck-maintainer.lock.yml
+++ b/.github/workflows/slide-deck-maintainer.lock.yml
@@ -107,10 +107,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up Node.js
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
@@ -124,11 +121,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1911,8 +1904,7 @@ jobs:
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
GH_AW_INPUTS_FOCUS: ${{ inputs.focus }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Slide Deck Maintenance Agent
@@ -2520,21 +2512,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml
index 6c6efaabc5..4eb73f8d5f 100644
--- a/.github/workflows/smoke-claude.lock.yml
+++ b/.github/workflows/smoke-claude.lock.yml
@@ -144,17 +144,10 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2030,8 +2023,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## MCP Response Size Limits
@@ -2559,21 +2551,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-codex-firewall.lock.yml b/.github/workflows/smoke-codex-firewall.lock.yml
index dee36e0bab..c1cd672a17 100644
--- a/.github/workflows/smoke-codex-firewall.lock.yml
+++ b/.github/workflows/smoke-codex-firewall.lock.yml
@@ -128,10 +128,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1987,8 +1984,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Smoke Test: Codex Engine with AWF Firewall
@@ -2356,21 +2352,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml
index 53af64eb44..8a4af996e3 100644
--- a/.github/workflows/smoke-codex.lock.yml
+++ b/.github/workflows/smoke-codex.lock.yml
@@ -140,17 +140,10 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2046,8 +2039,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Smoke Test: Codex Engine Validation
@@ -2464,21 +2456,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-copilot-no-firewall.lock.yml b/.github/workflows/smoke-copilot-no-firewall.lock.yml
index b55b6998fd..5ad360fa5e 100644
--- a/.github/workflows/smoke-copilot-no-firewall.lock.yml
+++ b/.github/workflows/smoke-copilot-no-firewall.lock.yml
@@ -144,10 +144,7 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -3091,69 +3088,7 @@ jobs:
export GH_AW_GH_TOKEN="${GH_AW_GH_TOKEN}"
export GH_DEBUG="${GH_DEBUG}"
- cd /tmp/gh-aw/safe-inputs
- # Verify required files exist
- echo "Verifying safe-inputs setup..."
- if [ ! -f mcp-server.cjs ]; then
- echo "ERROR: mcp-server.cjs not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- if [ ! -f tools.json ]; then
- echo "ERROR: tools.json not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- echo "Configuration files verified"
- # Log environment configuration
- echo "Server configuration:"
- echo " Port: $GH_AW_SAFE_INPUTS_PORT"
- echo " API Key: ${GH_AW_SAFE_INPUTS_API_KEY:0:8}..."
- echo " Working directory: $(pwd)"
- # Ensure logs directory exists
- mkdir -p /tmp/gh-aw/safe-inputs/logs
- # Create initial server.log file for artifact upload
- {
- echo "Safe Inputs MCP Server Log"
- echo "Start time: $(date)"
- echo "==========================================="
- echo ""
- } > /tmp/gh-aw/safe-inputs/logs/server.log
- # Start the HTTP server in the background
- echo "Starting safe-inputs MCP HTTP server..."
- node mcp-server.cjs >> /tmp/gh-aw/safe-inputs/logs/server.log 2>&1 &
- SERVER_PID=$!
- echo "Started safe-inputs MCP server with PID $SERVER_PID"
- # Wait for server to be ready (max 10 seconds)
- echo "Waiting for server to become ready..."
- for i in {1..10}; do
- # Check if process is still running
- if ! kill -0 $SERVER_PID 2>/dev/null; then
- echo "ERROR: Server process $SERVER_PID has died"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- exit 1
- fi
- # Check if server is responding
- if curl -s -f "http://localhost:$GH_AW_SAFE_INPUTS_PORT/health" > /dev/null 2>&1; then
- echo "Safe Inputs MCP server is ready (attempt $i/10)"
- break
- fi
- if [ "$i" -eq 10 ]; then
- echo "ERROR: Safe Inputs MCP server failed to start after 10 seconds"
- echo "Process status: $(pgrep -f 'mcp-server.cjs' || echo 'not running')"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- echo "Checking port availability:"
- netstat -tuln | grep "$GH_AW_SAFE_INPUTS_PORT" || echo "Port $GH_AW_SAFE_INPUTS_PORT not listening"
- exit 1
- fi
- echo "Waiting for server... (attempt $i/10)"
- sleep 1
- done
- # Output the configuration for the MCP client
- echo "port=$GH_AW_SAFE_INPUTS_PORT" >> "$GITHUB_OUTPUT"
- echo "api_key=$GH_AW_SAFE_INPUTS_API_KEY" >> "$GITHUB_OUTPUT"
+ bash /tmp/gh-aw/actions/start_safe_inputs_server.sh
- name: Setup MCPs
env:
@@ -3335,8 +3270,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
**IMPORTANT**: Always use the `safeinputs-gh` tool for GitHub CLI commands instead of running `gh` directly via bash. The `safeinputs-gh` tool has proper authentication configured with `GITHUB_TOKEN`, while bash commands do not have GitHub CLI authentication by default.
@@ -3744,21 +3678,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-copilot-playwright.lock.yml b/.github/workflows/smoke-copilot-playwright.lock.yml
index 9bb7c16502..4d0676c3d5 100644
--- a/.github/workflows/smoke-copilot-playwright.lock.yml
+++ b/.github/workflows/smoke-copilot-playwright.lock.yml
@@ -144,20 +144,13 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Pre-flight Playwright MCP Test
run: "echo \"๐งช Testing Playwright MCP Docker container startup...\"\n\n# Pull the Playwright MCP Docker image\necho \"Pulling Playwright MCP Docker image...\"\ndocker pull mcr.microsoft.com/playwright/mcp\n\n# Test container startup with a simple healthcheck\necho \"Testing container startup...\"\ntimeout 30 docker run --rm -i mcr.microsoft.com/playwright/mcp --help || {\n echo \"โ Playwright MCP container failed to start\"\n exit 1\n}\n\necho \"โ
Playwright MCP container pre-flight check passed\"\n"
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -3188,69 +3181,7 @@ jobs:
export GH_AW_GH_TOKEN="${GH_AW_GH_TOKEN}"
export GH_DEBUG="${GH_DEBUG}"
- cd /tmp/gh-aw/safe-inputs
- # Verify required files exist
- echo "Verifying safe-inputs setup..."
- if [ ! -f mcp-server.cjs ]; then
- echo "ERROR: mcp-server.cjs not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- if [ ! -f tools.json ]; then
- echo "ERROR: tools.json not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- echo "Configuration files verified"
- # Log environment configuration
- echo "Server configuration:"
- echo " Port: $GH_AW_SAFE_INPUTS_PORT"
- echo " API Key: ${GH_AW_SAFE_INPUTS_API_KEY:0:8}..."
- echo " Working directory: $(pwd)"
- # Ensure logs directory exists
- mkdir -p /tmp/gh-aw/safe-inputs/logs
- # Create initial server.log file for artifact upload
- {
- echo "Safe Inputs MCP Server Log"
- echo "Start time: $(date)"
- echo "==========================================="
- echo ""
- } > /tmp/gh-aw/safe-inputs/logs/server.log
- # Start the HTTP server in the background
- echo "Starting safe-inputs MCP HTTP server..."
- node mcp-server.cjs >> /tmp/gh-aw/safe-inputs/logs/server.log 2>&1 &
- SERVER_PID=$!
- echo "Started safe-inputs MCP server with PID $SERVER_PID"
- # Wait for server to be ready (max 10 seconds)
- echo "Waiting for server to become ready..."
- for i in {1..10}; do
- # Check if process is still running
- if ! kill -0 $SERVER_PID 2>/dev/null; then
- echo "ERROR: Server process $SERVER_PID has died"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- exit 1
- fi
- # Check if server is responding
- if curl -s -f "http://localhost:$GH_AW_SAFE_INPUTS_PORT/health" > /dev/null 2>&1; then
- echo "Safe Inputs MCP server is ready (attempt $i/10)"
- break
- fi
- if [ "$i" -eq 10 ]; then
- echo "ERROR: Safe Inputs MCP server failed to start after 10 seconds"
- echo "Process status: $(pgrep -f 'mcp-server.cjs' || echo 'not running')"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- echo "Checking port availability:"
- netstat -tuln | grep "$GH_AW_SAFE_INPUTS_PORT" || echo "Port $GH_AW_SAFE_INPUTS_PORT not listening"
- exit 1
- fi
- echo "Waiting for server... (attempt $i/10)"
- sleep 1
- done
- # Output the configuration for the MCP client
- echo "port=$GH_AW_SAFE_INPUTS_PORT" >> "$GITHUB_OUTPUT"
- echo "api_key=$GH_AW_SAFE_INPUTS_API_KEY" >> "$GITHUB_OUTPUT"
+ bash /tmp/gh-aw/actions/start_safe_inputs_server.sh
- name: Setup MCPs
env:
@@ -3431,8 +3362,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
**IMPORTANT**: Always use the `safeinputs-gh` tool for GitHub CLI commands instead of running `gh` directly via bash. The `safeinputs-gh` tool has proper authentication configured with `GITHUB_TOKEN`, while bash commands do not have GitHub CLI authentication by default.
@@ -3860,21 +3790,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-copilot-safe-inputs.lock.yml b/.github/workflows/smoke-copilot-safe-inputs.lock.yml
index 731588b229..196713a3de 100644
--- a/.github/workflows/smoke-copilot-safe-inputs.lock.yml
+++ b/.github/workflows/smoke-copilot-safe-inputs.lock.yml
@@ -131,10 +131,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -3053,69 +3050,7 @@ jobs:
export GH_AW_GH_TOKEN="${GH_AW_GH_TOKEN}"
export GH_DEBUG="${GH_DEBUG}"
- cd /tmp/gh-aw/safe-inputs
- # Verify required files exist
- echo "Verifying safe-inputs setup..."
- if [ ! -f mcp-server.cjs ]; then
- echo "ERROR: mcp-server.cjs not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- if [ ! -f tools.json ]; then
- echo "ERROR: tools.json not found in /tmp/gh-aw/safe-inputs"
- ls -la /tmp/gh-aw/safe-inputs/
- exit 1
- fi
- echo "Configuration files verified"
- # Log environment configuration
- echo "Server configuration:"
- echo " Port: $GH_AW_SAFE_INPUTS_PORT"
- echo " API Key: ${GH_AW_SAFE_INPUTS_API_KEY:0:8}..."
- echo " Working directory: $(pwd)"
- # Ensure logs directory exists
- mkdir -p /tmp/gh-aw/safe-inputs/logs
- # Create initial server.log file for artifact upload
- {
- echo "Safe Inputs MCP Server Log"
- echo "Start time: $(date)"
- echo "==========================================="
- echo ""
- } > /tmp/gh-aw/safe-inputs/logs/server.log
- # Start the HTTP server in the background
- echo "Starting safe-inputs MCP HTTP server..."
- node mcp-server.cjs >> /tmp/gh-aw/safe-inputs/logs/server.log 2>&1 &
- SERVER_PID=$!
- echo "Started safe-inputs MCP server with PID $SERVER_PID"
- # Wait for server to be ready (max 10 seconds)
- echo "Waiting for server to become ready..."
- for i in {1..10}; do
- # Check if process is still running
- if ! kill -0 $SERVER_PID 2>/dev/null; then
- echo "ERROR: Server process $SERVER_PID has died"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- exit 1
- fi
- # Check if server is responding
- if curl -s -f "http://localhost:$GH_AW_SAFE_INPUTS_PORT/health" > /dev/null 2>&1; then
- echo "Safe Inputs MCP server is ready (attempt $i/10)"
- break
- fi
- if [ "$i" -eq 10 ]; then
- echo "ERROR: Safe Inputs MCP server failed to start after 10 seconds"
- echo "Process status: $(pgrep -f 'mcp-server.cjs' || echo 'not running')"
- echo "Server log contents:"
- cat /tmp/gh-aw/safe-inputs/logs/server.log
- echo "Checking port availability:"
- netstat -tuln | grep "$GH_AW_SAFE_INPUTS_PORT" || echo "Port $GH_AW_SAFE_INPUTS_PORT not listening"
- exit 1
- fi
- echo "Waiting for server... (attempt $i/10)"
- sleep 1
- done
- # Output the configuration for the MCP client
- echo "port=$GH_AW_SAFE_INPUTS_PORT" >> "$GITHUB_OUTPUT"
- echo "api_key=$GH_AW_SAFE_INPUTS_API_KEY" >> "$GITHUB_OUTPUT"
+ bash /tmp/gh-aw/actions/start_safe_inputs_server.sh
- name: Setup MCPs
env:
@@ -3263,8 +3198,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
**IMPORTANT**: Always use the `safeinputs-gh` tool for GitHub CLI commands instead of running `gh` directly via bash. The `safeinputs-gh` tool has proper authentication configured with `GITHUB_TOKEN`, while bash commands do not have GitHub CLI authentication by default.
@@ -3564,21 +3498,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml
index f03446b8c2..abf1451c38 100644
--- a/.github/workflows/smoke-copilot.lock.yml
+++ b/.github/workflows/smoke-copilot.lock.yml
@@ -128,17 +128,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2105,8 +2098,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Smoke Test: Copilot Engine Validation
@@ -2514,21 +2506,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-detector.lock.yml b/.github/workflows/smoke-detector.lock.yml
index 3e4cd0d4c3..c01ae1a40d 100644
--- a/.github/workflows/smoke-detector.lock.yml
+++ b/.github/workflows/smoke-detector.lock.yml
@@ -151,10 +151,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
@@ -173,11 +170,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1991,8 +1984,7 @@ jobs:
GH_AW_INPUTS_RUN_NUMBER: ${{ inputs.run_number }}
GH_AW_INPUTS_WORKFLOW_NAME: ${{ inputs.workflow_name }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2634,21 +2626,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-srt-custom-config.lock.yml b/.github/workflows/smoke-srt-custom-config.lock.yml
index f99e9edf75..c1c3ff4bb0 100644
--- a/.github/workflows/smoke-srt-custom-config.lock.yml
+++ b/.github/workflows/smoke-srt-custom-config.lock.yml
@@ -89,10 +89,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -351,8 +348,7 @@ jobs:
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
**IMPORTANT: Keep all outputs extremely short and concise. Use single-line responses where possible. No verbose explanations.**
@@ -646,21 +642,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/smoke-srt.lock.yml b/.github/workflows/smoke-srt.lock.yml
index 002c2a3f15..6f502c1a5b 100644
--- a/.github/workflows/smoke-srt.lock.yml
+++ b/.github/workflows/smoke-srt.lock.yml
@@ -105,10 +105,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1817,8 +1814,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
**IMPORTANT: Keep all outputs extremely short and concise. Use single-line responses where possible. No verbose explanations.**
@@ -2131,21 +2127,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/spec-kit-execute.lock.yml b/.github/workflows/spec-kit-execute.lock.yml
index 1179fad7e7..0fb5355b61 100644
--- a/.github/workflows/spec-kit-execute.lock.yml
+++ b/.github/workflows/spec-kit-execute.lock.yml
@@ -99,17 +99,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1872,8 +1865,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Execute Spec-Kit Specifications
@@ -2620,21 +2612,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/spec-kit-executor.lock.yml b/.github/workflows/spec-kit-executor.lock.yml
index 68496a5d09..0fecbe0fda 100644
--- a/.github/workflows/spec-kit-executor.lock.yml
+++ b/.github/workflows/spec-kit-executor.lock.yml
@@ -100,17 +100,10 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1910,8 +1903,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Spec Kit Executor
@@ -2495,21 +2487,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/speckit-dispatcher.lock.yml b/.github/workflows/speckit-dispatcher.lock.yml
index eba2c26a1a..b7f6ea6ba2 100644
--- a/.github/workflows/speckit-dispatcher.lock.yml
+++ b/.github/workflows/speckit-dispatcher.lock.yml
@@ -164,10 +164,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -2023,8 +2020,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_NEEDS_ACTIVATION_OUTPUTS_TEXT: ${{ needs.activation.outputs.text }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Spec-Kit Command Dispatcher
@@ -2741,21 +2737,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/stale-repo-identifier.lock.yml b/.github/workflows/stale-repo-identifier.lock.yml
index 21caadf429..619b8e9519 100644
--- a/.github/workflows/stale-repo-identifier.lock.yml
+++ b/.github/workflows/stale-repo-identifier.lock.yml
@@ -119,10 +119,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: "# Create working directory for Python scripts\nmkdir -p /tmp/gh-aw/python\nmkdir -p /tmp/gh-aw/python/data\nmkdir -p /tmp/gh-aw/python/charts\nmkdir -p /tmp/gh-aw/python/artifacts\n\necho \"Python environment setup complete\"\necho \"Working directory: /tmp/gh-aw/python\"\necho \"Data directory: /tmp/gh-aw/python/data\"\necho \"Charts directory: /tmp/gh-aw/python/charts\"\necho \"Artifacts directory: /tmp/gh-aw/python/artifacts\"\n"
- name: Install Python scientific libraries
@@ -176,7 +173,7 @@ jobs:
ORGANIZATION: ${{ env.ORGANIZATION }}
id: stale-repos
name: Run stale_repos tool
- uses: github/stale-repos@a21e55567b83cf3c3f3f9085d3038dc6cee02598 # v3.0.2
+ uses: github/stale-repos@a21e55567b83cf3c3f3f9085d3038dc6cee02598 # v3
- env:
INACTIVE_REPOS: ${{ steps.stale-repos.outputs.inactiveRepos }}
name: Save stale repos output
@@ -184,11 +181,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2005,8 +1998,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Python Data Visualization Guide
@@ -3091,21 +3083,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml
index 83c31b7d2d..dd122fba27 100644
--- a/.github/workflows/static-analysis-report.lock.yml
+++ b/.github/workflows/static-analysis-report.lock.yml
@@ -106,10 +106,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
@@ -128,11 +125,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1883,8 +1876,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
@@ -2605,21 +2597,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/sub-issue-closer.lock.yml b/.github/workflows/sub-issue-closer.lock.yml
index 8d28057a3b..5e0f83f1af 100644
--- a/.github/workflows/sub-issue-closer.lock.yml
+++ b/.github/workflows/sub-issue-closer.lock.yml
@@ -99,10 +99,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1899,8 +1896,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Sub-Issue Closer ๐
@@ -2357,21 +2353,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml
index 4c2fde522c..c4afe989eb 100644
--- a/.github/workflows/super-linter.lock.yml
+++ b/.github/workflows/super-linter.lock.yml
@@ -106,10 +106,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Download super-linter log
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
@@ -118,11 +115,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1908,8 +1901,7 @@ jobs:
GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
GH_AW_GITHUB_SERVER_URL: ${{ github.server_url }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2426,21 +2418,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
@@ -6189,7 +6167,7 @@ jobs:
persist-credentials: false
- name: Super-linter
id: super-linter
- uses: super-linter/super-linter@47984f49b4e87383eed97890fe2dca6063bbd9c3 # v8.3.1
+ uses: super-linter/super-linter@47984f49b4e87383eed97890fe2dca6063bbd9c3 # v8.2.1
env:
CREATE_LOG_FILE: "true"
DEFAULT_BRANCH: main
diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml
index f6edba3b47..d6acc7bae7 100644
--- a/.github/workflows/technical-doc-writer.lock.yml
+++ b/.github/workflows/technical-doc-writer.lock.yml
@@ -118,10 +118,7 @@ jobs:
cache-dependency-path: 'docs/package-lock.json'
package-manager-cache: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Install dependencies
run: npm ci
working-directory: ./docs
@@ -133,11 +130,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1974,8 +1967,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_EVENT_INPUTS_TOPIC: ${{ github.event.inputs.topic }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
### Documentation
@@ -2750,21 +2742,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml
index 044ea1f994..9eb396b568 100644
--- a/.github/workflows/tidy.lock.yml
+++ b/.github/workflows/tidy.lock.yml
@@ -135,10 +135,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Set up Node.js
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
@@ -1963,8 +1960,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# Code Tidying Agent
@@ -2377,21 +2373,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml
index 5658525f82..55d35b1d52 100644
--- a/.github/workflows/typist.lock.yml
+++ b/.github/workflows/typist.lock.yml
@@ -115,10 +115,7 @@ jobs:
- name: Install Go language service (gopls)
run: go install golang.org/x/tools/gopls@latest
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1871,8 +1868,7 @@ jobs:
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2706,21 +2702,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml
index 9428bbf37c..90622d6d13 100644
--- a/.github/workflows/unbloat-docs.lock.yml
+++ b/.github/workflows/unbloat-docs.lock.yml
@@ -131,10 +131,7 @@ jobs:
with:
destination: /tmp/gh-aw/actions
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Checkout repository
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
with:
@@ -157,11 +154,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -2006,8 +1999,7 @@ jobs:
GH_AW_GITHUB_EVENT_PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2652,21 +2644,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml
index b02bc1744d..e4d66b7107 100644
--- a/.github/workflows/video-analyzer.lock.yml
+++ b/.github/workflows/video-analyzer.lock.yml
@@ -106,10 +106,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- id: setup-ffmpeg
name: Setup FFmpeg
run: |-
@@ -1894,8 +1891,7 @@ jobs:
GH_AW_GITHUB_EVENT_INPUTS_VIDEO_URL: ${{ github.event.inputs.video_url }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
# FFmpeg Usage Guide
@@ -2507,21 +2503,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml
index 8b65eb70fd..c7c9464af4 100644
--- a/.github/workflows/weekly-issue-summary.lock.yml
+++ b/.github/workflows/weekly-issue-summary.lock.yml
@@ -102,10 +102,7 @@ jobs:
with:
destination: /tmp/gh-aw/actions
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Setup Python environment
run: "# Create working directory for Python scripts\nmkdir -p /tmp/gh-aw/python\nmkdir -p /tmp/gh-aw/python/data\nmkdir -p /tmp/gh-aw/python/charts\nmkdir -p /tmp/gh-aw/python/artifacts\n\necho \"Python environment setup complete\"\necho \"Working directory: /tmp/gh-aw/python\"\necho \"Data directory: /tmp/gh-aw/python/data\"\necho \"Charts directory: /tmp/gh-aw/python/charts\"\necho \"Artifacts directory: /tmp/gh-aw/python/artifacts\"\n"
- name: Install Python scientific libraries
@@ -131,11 +128,7 @@ jobs:
# Cache memory file share configuration from frontmatter processed below
- name: Create cache-memory directory
- run: |
- mkdir -p /tmp/gh-aw/cache-memory
- echo "Cache memory directory created at /tmp/gh-aw/cache-memory"
- echo "This folder provides persistent file storage across workflow runs"
- echo "LLMs and agentic tools can freely read and write files in this directory"
+ run: bash /tmp/gh-aw/actions/create_cache_memory_dir.sh
- name: Restore cache memory file share data
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
@@ -1888,8 +1881,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
## Report Structure
@@ -2859,21 +2851,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/workflow-generator.lock.yml b/.github/workflows/workflow-generator.lock.yml
index 9e6151ad38..e8d109a1ba 100644
--- a/.github/workflows/workflow-generator.lock.yml
+++ b/.github/workflows/workflow-generator.lock.yml
@@ -116,10 +116,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
- name: Configure Git credentials
env:
REPO_NAME: ${{ github.repository }}
@@ -1918,8 +1915,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
GH_AW_GITHUB_EVENT_ISSUE_NUMBER: ${{ github.event.issue.number }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2337,21 +2333,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/.github/workflows/workflow-health-manager.lock.yml b/.github/workflows/workflow-health-manager.lock.yml
index 0c6c88cfe3..1103992952 100644
--- a/.github/workflows/workflow-health-manager.lock.yml
+++ b/.github/workflows/workflow-health-manager.lock.yml
@@ -103,10 +103,7 @@ jobs:
with:
persist-credentials: false
- name: Create gh-aw temp directory
- run: |
- mkdir -p /tmp/gh-aw/agent
- mkdir -p /tmp/gh-aw/sandbox/agent/logs
- echo "Created /tmp/gh-aw/agent directory for agentic workflow temporary files"
+ run: bash /tmp/gh-aw/actions/create_gh_aw_tmp_dir.sh
# Repo memory git-based storage configuration from frontmatter processed below
- name: Clone repo-memory branch (default)
env:
@@ -1967,8 +1964,7 @@ jobs:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
run: |
- PROMPT_DIR="$(dirname "$GH_AW_PROMPT")"
- mkdir -p "$PROMPT_DIR"
+ bash /tmp/gh-aw/actions/create_prompt_first.sh
cat << 'PROMPT_EOF' > "$GH_AW_PROMPT"
{{#runtime-import? .github/shared-instructions.md}}
@@ -2699,21 +2695,7 @@ jobs:
- name: Print prompt
env:
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- run: |
- # Print prompt to workflow logs (equivalent to core.info)
- echo "Generated Prompt:"
- cat "$GH_AW_PROMPT"
- # Print prompt to step summary
- {
- echo ""
- echo "Generated Prompt
"
- echo ""
- echo '``````markdown'
- cat "$GH_AW_PROMPT"
- echo '``````'
- echo ""
- echo " "
- } >> "$GITHUB_STEP_SUMMARY"
+ run: bash /tmp/gh-aw/actions/print_prompt_summary.sh
- name: Upload prompt
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
diff --git a/pkg/workflow/compiler_yaml.go b/pkg/workflow/compiler_yaml.go
index bc2604f016..4c9be7da67 100644
--- a/pkg/workflow/compiler_yaml.go
+++ b/pkg/workflow/compiler_yaml.go
@@ -208,7 +208,8 @@ func (c *Compiler) generatePrompt(yaml *strings.Builder, data *WorkflowData) {
fmt.Fprintf(yaml, " %s: ${{ %s }}\n", mapping.EnvVar, mapping.Content)
}
- yaml.WriteString(" run: bash /tmp/gh-aw/actions/create_prompt_first.sh\n")
+ yaml.WriteString(" run: |\n")
+ yaml.WriteString(" bash /tmp/gh-aw/actions/create_prompt_first.sh\n")
if len(chunks) > 0 {
// Write template with placeholders directly to target file
diff --git a/pkg/workflow/sh.go b/pkg/workflow/sh.go
index 05c1c91794..326af52749 100644
--- a/pkg/workflow/sh.go
+++ b/pkg/workflow/sh.go
@@ -51,12 +51,12 @@ var editToolPromptText string
// Scripts with templating must remain embedded inline in the workflow YAML.
func GetBundledShellScripts() map[string]string {
return map[string]string{
- "create_gh_aw_tmp_dir.sh": createGhAwTmpDirScript,
- "start_safe_inputs_server.sh": startSafeInputsServerScript,
- "print_prompt_summary.sh": printPromptSummaryScript,
- "generate_git_patch.sh": generateGitPatchScript,
- "create_cache_memory_dir.sh": createCacheMemoryDirScript,
- "create_prompt_first.sh": createPromptFirstScript,
+ "create_gh_aw_tmp_dir.sh": createGhAwTmpDirScript,
+ "start_safe_inputs_server.sh": startSafeInputsServerScript,
+ "print_prompt_summary.sh": printPromptSummaryScript,
+ "generate_git_patch.sh": generateGitPatchScript,
+ "create_cache_memory_dir.sh": createCacheMemoryDirScript,
+ "create_prompt_first.sh": createPromptFirstScript,
}
}