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, } }