mirror of
https://github.com/github/awesome-copilot.git
synced 2026-03-17 06:35:11 +00:00
Learning hub evergreen (#1037)
* Adding new learning hub updater workflow * Updating aw to latest * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
19
.github/aw/actions-lock.json
vendored
19
.github/aw/actions-lock.json
vendored
@@ -5,9 +5,9 @@
|
|||||||
"version": "v6.0.2",
|
"version": "v6.0.2",
|
||||||
"sha": "de0fac2e4500dabe0009e67214ff5f5447ce83dd"
|
"sha": "de0fac2e4500dabe0009e67214ff5f5447ce83dd"
|
||||||
},
|
},
|
||||||
"actions/download-artifact@v8": {
|
"actions/download-artifact@v8.0.1": {
|
||||||
"repo": "actions/download-artifact",
|
"repo": "actions/download-artifact",
|
||||||
"version": "v8",
|
"version": "v8.0.1",
|
||||||
"sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
|
"sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
|
||||||
},
|
},
|
||||||
"actions/github-script@v8": {
|
"actions/github-script@v8": {
|
||||||
@@ -15,15 +15,20 @@
|
|||||||
"version": "v8",
|
"version": "v8",
|
||||||
"sha": "ed597411d8f924073f98dfc5c65a23a2325f34cd"
|
"sha": "ed597411d8f924073f98dfc5c65a23a2325f34cd"
|
||||||
},
|
},
|
||||||
"actions/upload-artifact@v7": {
|
"actions/upload-artifact@v7.0.0": {
|
||||||
"repo": "actions/upload-artifact",
|
"repo": "actions/upload-artifact",
|
||||||
"version": "v7",
|
"version": "v7.0.0",
|
||||||
"sha": "bbbca2ddaa5d8feaa63e36b76fdaad77386f024f"
|
"sha": "bbbca2ddaa5d8feaa63e36b76fdaad77386f024f"
|
||||||
},
|
},
|
||||||
"github/gh-aw/actions/setup@v0.57.2": {
|
"github/gh-aw-actions/setup@v0.59.0": {
|
||||||
|
"repo": "github/gh-aw-actions/setup",
|
||||||
|
"version": "v0.59.0",
|
||||||
|
"sha": "066087f607f52664010289ddd52198f33044c38a"
|
||||||
|
},
|
||||||
|
"github/gh-aw/actions/setup@v0.59.0": {
|
||||||
"repo": "github/gh-aw/actions/setup",
|
"repo": "github/gh-aw/actions/setup",
|
||||||
"version": "v0.57.2",
|
"version": "v0.59.0",
|
||||||
"sha": "32b3a711a9ee97d38e3989c90af0385aff0066a7"
|
"sha": "7d1a2798f21c06247ce115b7c7b8ddd70c8d0dc3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
112
.github/workflows/codeowner-update.lock.yml
generated
vendored
112
.github/workflows/codeowner-update.lock.yml
generated
vendored
@@ -13,7 +13,7 @@
|
|||||||
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
|
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
|
||||||
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
|
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
|
||||||
#
|
#
|
||||||
# This file was automatically generated by gh-aw (v0.57.2). DO NOT EDIT.
|
# This file was automatically generated by gh-aw (v0.59.0). DO NOT EDIT.
|
||||||
#
|
#
|
||||||
# To update this file, edit the corresponding .md file and run:
|
# To update this file, edit the corresponding .md file and run:
|
||||||
# gh aw compile
|
# gh aw compile
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
#
|
#
|
||||||
# Updates the CODEOWNERS file when a maintainer comments #codeowner on a pull request
|
# Updates the CODEOWNERS file when a maintainer comments #codeowner on a pull request
|
||||||
#
|
#
|
||||||
# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"8f7ecfe9d458039fea20a1e09fd094839da1ae52fd4e5006effac2a27da3bd50","compiler_version":"v0.57.2","strict":true}
|
# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"8f7ecfe9d458039fea20a1e09fd094839da1ae52fd4e5006effac2a27da3bd50","compiler_version":"v0.59.0","strict":true}
|
||||||
|
|
||||||
name: "Codeowner Update Agent"
|
name: "Codeowner Update Agent"
|
||||||
"on":
|
"on":
|
||||||
@@ -57,7 +57,7 @@ jobs:
|
|||||||
title: ${{ steps.sanitized.outputs.title }}
|
title: ${{ steps.sanitized.outputs.title }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Generate agentic run info
|
- name: Generate agentic run info
|
||||||
@@ -68,14 +68,14 @@ jobs:
|
|||||||
GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}
|
GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}
|
||||||
GH_AW_INFO_VERSION: ""
|
GH_AW_INFO_VERSION: ""
|
||||||
GH_AW_INFO_AGENT_VERSION: "latest"
|
GH_AW_INFO_AGENT_VERSION: "latest"
|
||||||
GH_AW_INFO_CLI_VERSION: "v0.57.2"
|
GH_AW_INFO_CLI_VERSION: "v0.59.0"
|
||||||
GH_AW_INFO_WORKFLOW_NAME: "Codeowner Update Agent"
|
GH_AW_INFO_WORKFLOW_NAME: "Codeowner Update Agent"
|
||||||
GH_AW_INFO_EXPERIMENTAL: "false"
|
GH_AW_INFO_EXPERIMENTAL: "false"
|
||||||
GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
|
GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
|
||||||
GH_AW_INFO_STAGED: "false"
|
GH_AW_INFO_STAGED: "false"
|
||||||
GH_AW_INFO_ALLOWED_DOMAINS: '["defaults"]'
|
GH_AW_INFO_ALLOWED_DOMAINS: '["defaults"]'
|
||||||
GH_AW_INFO_FIREWALL_ENABLED: "true"
|
GH_AW_INFO_FIREWALL_ENABLED: "true"
|
||||||
GH_AW_INFO_AWF_VERSION: "v0.23.0"
|
GH_AW_INFO_AWF_VERSION: "v0.24.2"
|
||||||
GH_AW_INFO_AWMG_VERSION: ""
|
GH_AW_INFO_AWMG_VERSION: ""
|
||||||
GH_AW_INFO_FIREWALL_TYPE: "squid"
|
GH_AW_INFO_FIREWALL_TYPE: "squid"
|
||||||
GH_AW_COMPILED_STRICT: "true"
|
GH_AW_COMPILED_STRICT: "true"
|
||||||
@@ -250,7 +250,7 @@ jobs:
|
|||||||
run: bash /opt/gh-aw/actions/print_prompt_summary.sh
|
run: bash /opt/gh-aw/actions/print_prompt_summary.sh
|
||||||
- name: Upload activation artifact
|
- name: Upload activation artifact
|
||||||
if: success()
|
if: success()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: activation
|
name: activation
|
||||||
path: |
|
path: |
|
||||||
@@ -286,7 +286,7 @@ jobs:
|
|||||||
output_types: ${{ steps.collect_output.outputs.output_types }}
|
output_types: ${{ steps.collect_output.outputs.output_types }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -323,8 +323,10 @@ jobs:
|
|||||||
await main();
|
await main();
|
||||||
- name: Install GitHub Copilot CLI
|
- name: Install GitHub Copilot CLI
|
||||||
run: /opt/gh-aw/actions/install_copilot_cli.sh latest
|
run: /opt/gh-aw/actions/install_copilot_cli.sh latest
|
||||||
- name: Install awf binary
|
env:
|
||||||
run: bash /opt/gh-aw/actions/install_awf_binary.sh v0.23.0
|
GH_HOST: github.com
|
||||||
|
- name: Install AWF binary
|
||||||
|
run: bash /opt/gh-aw/actions/install_awf_binary.sh v0.24.2
|
||||||
- name: Determine automatic lockdown mode for GitHub MCP Server
|
- name: Determine automatic lockdown mode for GitHub MCP Server
|
||||||
id: determine-automatic-lockdown
|
id: determine-automatic-lockdown
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -336,7 +338,7 @@ jobs:
|
|||||||
const determineAutomaticLockdown = require('/opt/gh-aw/actions/determine_automatic_lockdown.cjs');
|
const determineAutomaticLockdown = require('/opt/gh-aw/actions/determine_automatic_lockdown.cjs');
|
||||||
await determineAutomaticLockdown(github, context, core);
|
await determineAutomaticLockdown(github, context, core);
|
||||||
- name: Download container images
|
- name: Download container images
|
||||||
run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.23.0 ghcr.io/github/gh-aw-firewall/api-proxy:0.23.0 ghcr.io/github/gh-aw-firewall/squid:0.23.0 ghcr.io/github/gh-aw-mcpg:v0.1.8 ghcr.io/github/github-mcp-server:v0.32.0 node:lts-alpine
|
run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.24.2 ghcr.io/github/gh-aw-firewall/api-proxy:0.24.2 ghcr.io/github/gh-aw-firewall/squid:0.24.2 ghcr.io/github/gh-aw-mcpg:v0.1.15 ghcr.io/github/github-mcp-server:v0.32.0 node:lts-alpine
|
||||||
- name: Write Safe Outputs Config
|
- name: Write Safe Outputs Config
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /opt/gh-aw/safeoutputs
|
mkdir -p /opt/gh-aw/safeoutputs
|
||||||
@@ -345,6 +347,8 @@ jobs:
|
|||||||
cat > /opt/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_EOF'
|
cat > /opt/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_EOF'
|
||||||
{"add_comment":{"max":1},"create_pull_request":{"base_branch":"staged","max":1,"title_prefix":"[codeowner] "},"missing_data":{},"missing_tool":{},"noop":{"max":1}}
|
{"add_comment":{"max":1},"create_pull_request":{"base_branch":"staged","max":1,"title_prefix":"[codeowner] "},"missing_data":{},"missing_tool":{},"noop":{"max":1}}
|
||||||
GH_AW_SAFE_OUTPUTS_CONFIG_EOF
|
GH_AW_SAFE_OUTPUTS_CONFIG_EOF
|
||||||
|
- name: Write Safe Outputs Tools
|
||||||
|
run: |
|
||||||
cat > /opt/gh-aw/safeoutputs/tools.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_EOF'
|
cat > /opt/gh-aw/safeoutputs/tools.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_EOF'
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@@ -705,7 +709,7 @@ jobs:
|
|||||||
export DEBUG="*"
|
export DEBUG="*"
|
||||||
|
|
||||||
export GH_AW_ENGINE="copilot"
|
export GH_AW_ENGINE="copilot"
|
||||||
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_LOCKDOWN -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.8'
|
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_LOCKDOWN -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.15'
|
||||||
|
|
||||||
mkdir -p /home/runner/.copilot
|
mkdir -p /home/runner/.copilot
|
||||||
cat << GH_AW_MCP_CONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh
|
cat << GH_AW_MCP_CONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh
|
||||||
@@ -715,6 +719,7 @@ jobs:
|
|||||||
"type": "stdio",
|
"type": "stdio",
|
||||||
"container": "ghcr.io/github/github-mcp-server:v0.32.0",
|
"container": "ghcr.io/github/github-mcp-server:v0.32.0",
|
||||||
"env": {
|
"env": {
|
||||||
|
"GITHUB_HOST": "\${GITHUB_SERVER_URL}",
|
||||||
"GITHUB_LOCKDOWN_MODE": "$GITHUB_MCP_LOCKDOWN",
|
"GITHUB_LOCKDOWN_MODE": "$GITHUB_MCP_LOCKDOWN",
|
||||||
"GITHUB_PERSONAL_ACCESS_TOKEN": "\${GITHUB_MCP_SERVER_TOKEN}",
|
"GITHUB_PERSONAL_ACCESS_TOKEN": "\${GITHUB_MCP_SERVER_TOKEN}",
|
||||||
"GITHUB_READ_ONLY": "1",
|
"GITHUB_READ_ONLY": "1",
|
||||||
@@ -738,7 +743,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
GH_AW_MCP_CONFIG_EOF
|
GH_AW_MCP_CONFIG_EOF
|
||||||
- name: Download activation artifact
|
- name: Download activation artifact
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: activation
|
name: activation
|
||||||
path: /tmp/gh-aw
|
path: /tmp/gh-aw
|
||||||
@@ -752,7 +757,7 @@ jobs:
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
touch /tmp/gh-aw/agent-step-summary.md
|
touch /tmp/gh-aw/agent-step-summary.md
|
||||||
# shellcheck disable=SC1003
|
# shellcheck disable=SC1003
|
||||||
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.23.0 --skip-pull --enable-api-proxy \
|
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.24.2 --skip-pull --enable-api-proxy \
|
||||||
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-all-tools --allow-all-paths --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
|
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-all-tools --allow-all-paths --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
|
||||||
env:
|
env:
|
||||||
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
||||||
@@ -762,7 +767,7 @@ jobs:
|
|||||||
GH_AW_PHASE: agent
|
GH_AW_PHASE: agent
|
||||||
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
||||||
GH_AW_VERSION: v0.57.2
|
GH_AW_VERSION: v0.59.0
|
||||||
GITHUB_API_URL: ${{ github.api_url }}
|
GITHUB_API_URL: ${{ github.api_url }}
|
||||||
GITHUB_AW: true
|
GITHUB_AW: true
|
||||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
@@ -837,13 +842,11 @@ jobs:
|
|||||||
- name: Append agent step summary
|
- name: Append agent step summary
|
||||||
if: always()
|
if: always()
|
||||||
run: bash /opt/gh-aw/actions/append_agent_step_summary.sh
|
run: bash /opt/gh-aw/actions/append_agent_step_summary.sh
|
||||||
- name: Upload Safe Outputs
|
- name: Copy Safe Outputs
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
run: |
|
||||||
with:
|
mkdir -p /tmp/gh-aw
|
||||||
name: safe-output
|
cp "$GH_AW_SAFE_OUTPUTS" /tmp/gh-aw/safeoutputs.jsonl 2>/dev/null || true
|
||||||
path: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
|
||||||
if-no-files-found: warn
|
|
||||||
- name: Ingest agent output
|
- name: Ingest agent output
|
||||||
id: collect_output
|
id: collect_output
|
||||||
if: always()
|
if: always()
|
||||||
@@ -859,21 +862,6 @@ jobs:
|
|||||||
setupGlobals(core, github, context, exec, io);
|
setupGlobals(core, github, context, exec, io);
|
||||||
const { main } = require('/opt/gh-aw/actions/collect_ndjson_output.cjs');
|
const { main } = require('/opt/gh-aw/actions/collect_ndjson_output.cjs');
|
||||||
await main();
|
await main();
|
||||||
- name: Upload sanitized agent output
|
|
||||||
if: always() && env.GH_AW_AGENT_OUTPUT
|
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
|
||||||
with:
|
|
||||||
name: agent-output
|
|
||||||
path: ${{ env.GH_AW_AGENT_OUTPUT }}
|
|
||||||
if-no-files-found: warn
|
|
||||||
- name: Upload engine output files
|
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
|
||||||
with:
|
|
||||||
name: agent_outputs
|
|
||||||
path: |
|
|
||||||
/tmp/gh-aw/sandbox/agent/logs/
|
|
||||||
/tmp/gh-aw/redacted-urls.log
|
|
||||||
if-no-files-found: ignore
|
|
||||||
- name: Parse agent logs for step summary
|
- name: Parse agent logs for step summary
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -912,15 +900,19 @@ jobs:
|
|||||||
- name: Upload agent artifacts
|
- name: Upload agent artifacts
|
||||||
if: always()
|
if: always()
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: agent-artifacts
|
name: agent
|
||||||
path: |
|
path: |
|
||||||
/tmp/gh-aw/aw-prompts/prompt.txt
|
/tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
|
/tmp/gh-aw/sandbox/agent/logs/
|
||||||
|
/tmp/gh-aw/redacted-urls.log
|
||||||
/tmp/gh-aw/mcp-logs/
|
/tmp/gh-aw/mcp-logs/
|
||||||
/tmp/gh-aw/sandbox/firewall/logs/
|
/tmp/gh-aw/sandbox/firewall/logs/
|
||||||
/tmp/gh-aw/agent-stdio.log
|
/tmp/gh-aw/agent-stdio.log
|
||||||
/tmp/gh-aw/agent/
|
/tmp/gh-aw/agent/
|
||||||
|
/tmp/gh-aw/safeoutputs.jsonl
|
||||||
|
/tmp/gh-aw/agent_output.json
|
||||||
/tmp/gh-aw/aw-*.patch
|
/tmp/gh-aw/aw-*.patch
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
# --- Threat Detection (inline) ---
|
# --- Threat Detection (inline) ---
|
||||||
@@ -989,7 +981,7 @@ jobs:
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
touch /tmp/gh-aw/agent-step-summary.md
|
touch /tmp/gh-aw/agent-step-summary.md
|
||||||
# shellcheck disable=SC1003
|
# shellcheck disable=SC1003
|
||||||
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,github.com,host.docker.internal,raw.githubusercontent.com,registry.npmjs.org,telemetry.enterprise.githubcopilot.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.23.0 --skip-pull --enable-api-proxy \
|
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,github.com,host.docker.internal,raw.githubusercontent.com,registry.npmjs.org,telemetry.enterprise.githubcopilot.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.24.2 --skip-pull --enable-api-proxy \
|
||||||
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-tool '\''shell(cat)'\'' --allow-tool '\''shell(grep)'\'' --allow-tool '\''shell(head)'\'' --allow-tool '\''shell(jq)'\'' --allow-tool '\''shell(ls)'\'' --allow-tool '\''shell(tail)'\'' --allow-tool '\''shell(wc)'\'' --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
|
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-tool '\''shell(cat)'\'' --allow-tool '\''shell(grep)'\'' --allow-tool '\''shell(head)'\'' --allow-tool '\''shell(jq)'\'' --allow-tool '\''shell(ls)'\'' --allow-tool '\''shell(tail)'\'' --allow-tool '\''shell(wc)'\'' --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
|
||||||
env:
|
env:
|
||||||
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
||||||
@@ -997,7 +989,7 @@ jobs:
|
|||||||
COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || '' }}
|
COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || '' }}
|
||||||
GH_AW_PHASE: detection
|
GH_AW_PHASE: detection
|
||||||
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
GH_AW_VERSION: v0.57.2
|
GH_AW_VERSION: v0.59.0
|
||||||
GITHUB_API_URL: ${{ github.api_url }}
|
GITHUB_API_URL: ${{ github.api_url }}
|
||||||
GITHUB_AW: true
|
GITHUB_AW: true
|
||||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
@@ -1022,9 +1014,9 @@ jobs:
|
|||||||
await main();
|
await main();
|
||||||
- name: Upload threat detection log
|
- name: Upload threat detection log
|
||||||
if: always() && steps.detection_guard.outputs.run_detection == 'true'
|
if: always() && steps.detection_guard.outputs.run_detection == 'true'
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: threat-detection.log
|
name: detection
|
||||||
path: /tmp/gh-aw/threat-detection/detection.log
|
path: /tmp/gh-aw/threat-detection/detection.log
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
- name: Set detection conclusion
|
- name: Set detection conclusion
|
||||||
@@ -1069,22 +1061,22 @@ jobs:
|
|||||||
total_count: ${{ steps.missing_tool.outputs.total_count }}
|
total_count: ${{ steps.missing_tool.outputs.total_count }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Download agent output artifact
|
- name: Download agent output artifact
|
||||||
id: download-agent-output
|
id: download-agent-output
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: agent-output
|
name: agent
|
||||||
path: /tmp/gh-aw/safeoutputs/
|
path: /tmp/gh-aw/
|
||||||
- name: Setup agent output environment variable
|
- name: Setup agent output environment variable
|
||||||
if: steps.download-agent-output.outcome == 'success'
|
if: steps.download-agent-output.outcome == 'success'
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /tmp/gh-aw/safeoutputs/
|
mkdir -p /tmp/gh-aw/
|
||||||
find "/tmp/gh-aw/safeoutputs/" -type f -print
|
find "/tmp/gh-aw/" -type f -print
|
||||||
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/safeoutputs/agent_output.json" >> "$GITHUB_ENV"
|
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_ENV"
|
||||||
- name: Process No-Op Messages
|
- name: Process No-Op Messages
|
||||||
id: noop
|
id: noop
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -1176,7 +1168,7 @@ jobs:
|
|||||||
matched_command: ''
|
matched_command: ''
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Check team membership for workflow
|
- name: Check team membership for workflow
|
||||||
@@ -1222,28 +1214,28 @@ jobs:
|
|||||||
process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
|
process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
safe-output-custom-tokens: 'true'
|
safe-output-custom-tokens: 'true'
|
||||||
- name: Download agent output artifact
|
- name: Download agent output artifact
|
||||||
id: download-agent-output
|
id: download-agent-output
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: agent-output
|
name: agent
|
||||||
path: /tmp/gh-aw/safeoutputs/
|
path: /tmp/gh-aw/
|
||||||
- name: Setup agent output environment variable
|
- name: Setup agent output environment variable
|
||||||
if: steps.download-agent-output.outcome == 'success'
|
if: steps.download-agent-output.outcome == 'success'
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /tmp/gh-aw/safeoutputs/
|
mkdir -p /tmp/gh-aw/
|
||||||
find "/tmp/gh-aw/safeoutputs/" -type f -print
|
find "/tmp/gh-aw/" -type f -print
|
||||||
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/safeoutputs/agent_output.json" >> "$GITHUB_ENV"
|
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_ENV"
|
||||||
- name: Download patch artifact
|
- name: Download patch artifact
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: agent-artifacts
|
name: agent
|
||||||
path: /tmp/gh-aw/
|
path: /tmp/gh-aw/
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
if: ((!cancelled()) && (needs.agent.result != 'skipped')) && (contains(needs.agent.outputs.output_types, 'create_pull_request'))
|
if: ((!cancelled()) && (needs.agent.result != 'skipped')) && (contains(needs.agent.outputs.output_types, 'create_pull_request'))
|
||||||
@@ -1285,9 +1277,9 @@ jobs:
|
|||||||
setupGlobals(core, github, context, exec, io);
|
setupGlobals(core, github, context, exec, io);
|
||||||
const { main } = require('/opt/gh-aw/actions/safe_output_handler_manager.cjs');
|
const { main } = require('/opt/gh-aw/actions/safe_output_handler_manager.cjs');
|
||||||
await main();
|
await main();
|
||||||
- name: Upload safe output items manifest
|
- name: Upload Safe Output Items Manifest
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: safe-output-items
|
name: safe-output-items
|
||||||
path: /tmp/safe-output-items.jsonl
|
path: /tmp/safe-output-items.jsonl
|
||||||
|
|||||||
106
.github/workflows/duplicate-resource-detector.lock.yml
generated
vendored
106
.github/workflows/duplicate-resource-detector.lock.yml
generated
vendored
@@ -13,7 +13,7 @@
|
|||||||
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
|
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
|
||||||
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
|
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
|
||||||
#
|
#
|
||||||
# This file was automatically generated by gh-aw (v0.57.2). DO NOT EDIT.
|
# This file was automatically generated by gh-aw (v0.59.0). DO NOT EDIT.
|
||||||
#
|
#
|
||||||
# To update this file, edit the corresponding .md file and run:
|
# To update this file, edit the corresponding .md file and run:
|
||||||
# gh aw compile
|
# gh aw compile
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
#
|
#
|
||||||
# Weekly scan of agents, instructions, and skills to identify potential duplicate resources and report them for review
|
# Weekly scan of agents, instructions, and skills to identify potential duplicate resources and report them for review
|
||||||
#
|
#
|
||||||
# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"ff58c3ff9cf9181e74e682ba6117a448bb9a2a9e52c012dc53d86d7697f3b565","compiler_version":"v0.57.2","strict":true}
|
# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"ff58c3ff9cf9181e74e682ba6117a448bb9a2a9e52c012dc53d86d7697f3b565","compiler_version":"v0.59.0","strict":true}
|
||||||
|
|
||||||
name: "Duplicate Resource Detector"
|
name: "Duplicate Resource Detector"
|
||||||
"on":
|
"on":
|
||||||
@@ -51,7 +51,7 @@ jobs:
|
|||||||
secret_verification_result: ${{ steps.validate-secret.outputs.verification_result }}
|
secret_verification_result: ${{ steps.validate-secret.outputs.verification_result }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Generate agentic run info
|
- name: Generate agentic run info
|
||||||
@@ -62,14 +62,14 @@ jobs:
|
|||||||
GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}
|
GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}
|
||||||
GH_AW_INFO_VERSION: ""
|
GH_AW_INFO_VERSION: ""
|
||||||
GH_AW_INFO_AGENT_VERSION: "latest"
|
GH_AW_INFO_AGENT_VERSION: "latest"
|
||||||
GH_AW_INFO_CLI_VERSION: "v0.57.2"
|
GH_AW_INFO_CLI_VERSION: "v0.59.0"
|
||||||
GH_AW_INFO_WORKFLOW_NAME: "Duplicate Resource Detector"
|
GH_AW_INFO_WORKFLOW_NAME: "Duplicate Resource Detector"
|
||||||
GH_AW_INFO_EXPERIMENTAL: "false"
|
GH_AW_INFO_EXPERIMENTAL: "false"
|
||||||
GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
|
GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
|
||||||
GH_AW_INFO_STAGED: "false"
|
GH_AW_INFO_STAGED: "false"
|
||||||
GH_AW_INFO_ALLOWED_DOMAINS: '["defaults"]'
|
GH_AW_INFO_ALLOWED_DOMAINS: '["defaults"]'
|
||||||
GH_AW_INFO_FIREWALL_ENABLED: "true"
|
GH_AW_INFO_FIREWALL_ENABLED: "true"
|
||||||
GH_AW_INFO_AWF_VERSION: "v0.23.0"
|
GH_AW_INFO_AWF_VERSION: "v0.24.2"
|
||||||
GH_AW_INFO_AWMG_VERSION: ""
|
GH_AW_INFO_AWMG_VERSION: ""
|
||||||
GH_AW_INFO_FIREWALL_TYPE: "squid"
|
GH_AW_INFO_FIREWALL_TYPE: "squid"
|
||||||
GH_AW_COMPILED_STRICT: "true"
|
GH_AW_COMPILED_STRICT: "true"
|
||||||
@@ -217,7 +217,7 @@ jobs:
|
|||||||
run: bash /opt/gh-aw/actions/print_prompt_summary.sh
|
run: bash /opt/gh-aw/actions/print_prompt_summary.sh
|
||||||
- name: Upload activation artifact
|
- name: Upload activation artifact
|
||||||
if: success()
|
if: success()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: activation
|
name: activation
|
||||||
path: |
|
path: |
|
||||||
@@ -254,7 +254,7 @@ jobs:
|
|||||||
output_types: ${{ steps.collect_output.outputs.output_types }}
|
output_types: ${{ steps.collect_output.outputs.output_types }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -291,8 +291,10 @@ jobs:
|
|||||||
await main();
|
await main();
|
||||||
- name: Install GitHub Copilot CLI
|
- name: Install GitHub Copilot CLI
|
||||||
run: /opt/gh-aw/actions/install_copilot_cli.sh latest
|
run: /opt/gh-aw/actions/install_copilot_cli.sh latest
|
||||||
- name: Install awf binary
|
env:
|
||||||
run: bash /opt/gh-aw/actions/install_awf_binary.sh v0.23.0
|
GH_HOST: github.com
|
||||||
|
- name: Install AWF binary
|
||||||
|
run: bash /opt/gh-aw/actions/install_awf_binary.sh v0.24.2
|
||||||
- name: Determine automatic lockdown mode for GitHub MCP Server
|
- name: Determine automatic lockdown mode for GitHub MCP Server
|
||||||
id: determine-automatic-lockdown
|
id: determine-automatic-lockdown
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -304,7 +306,7 @@ jobs:
|
|||||||
const determineAutomaticLockdown = require('/opt/gh-aw/actions/determine_automatic_lockdown.cjs');
|
const determineAutomaticLockdown = require('/opt/gh-aw/actions/determine_automatic_lockdown.cjs');
|
||||||
await determineAutomaticLockdown(github, context, core);
|
await determineAutomaticLockdown(github, context, core);
|
||||||
- name: Download container images
|
- name: Download container images
|
||||||
run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.23.0 ghcr.io/github/gh-aw-firewall/api-proxy:0.23.0 ghcr.io/github/gh-aw-firewall/squid:0.23.0 ghcr.io/github/gh-aw-mcpg:v0.1.8 ghcr.io/github/github-mcp-server:v0.32.0 node:lts-alpine
|
run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.24.2 ghcr.io/github/gh-aw-firewall/api-proxy:0.24.2 ghcr.io/github/gh-aw-firewall/squid:0.24.2 ghcr.io/github/gh-aw-mcpg:v0.1.15 ghcr.io/github/github-mcp-server:v0.32.0 node:lts-alpine
|
||||||
- name: Write Safe Outputs Config
|
- name: Write Safe Outputs Config
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /opt/gh-aw/safeoutputs
|
mkdir -p /opt/gh-aw/safeoutputs
|
||||||
@@ -313,6 +315,8 @@ jobs:
|
|||||||
cat > /opt/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_EOF'
|
cat > /opt/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_EOF'
|
||||||
{"create_issue":{"max":1},"missing_data":{},"missing_tool":{},"noop":{"max":1}}
|
{"create_issue":{"max":1},"missing_data":{},"missing_tool":{},"noop":{"max":1}}
|
||||||
GH_AW_SAFE_OUTPUTS_CONFIG_EOF
|
GH_AW_SAFE_OUTPUTS_CONFIG_EOF
|
||||||
|
- name: Write Safe Outputs Tools
|
||||||
|
run: |
|
||||||
cat > /opt/gh-aw/safeoutputs/tools.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_EOF'
|
cat > /opt/gh-aw/safeoutputs/tools.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_EOF'
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@@ -615,7 +619,7 @@ jobs:
|
|||||||
export DEBUG="*"
|
export DEBUG="*"
|
||||||
|
|
||||||
export GH_AW_ENGINE="copilot"
|
export GH_AW_ENGINE="copilot"
|
||||||
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_LOCKDOWN -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.8'
|
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_LOCKDOWN -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.15'
|
||||||
|
|
||||||
mkdir -p /home/runner/.copilot
|
mkdir -p /home/runner/.copilot
|
||||||
cat << GH_AW_MCP_CONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh
|
cat << GH_AW_MCP_CONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh
|
||||||
@@ -625,6 +629,7 @@ jobs:
|
|||||||
"type": "stdio",
|
"type": "stdio",
|
||||||
"container": "ghcr.io/github/github-mcp-server:v0.32.0",
|
"container": "ghcr.io/github/github-mcp-server:v0.32.0",
|
||||||
"env": {
|
"env": {
|
||||||
|
"GITHUB_HOST": "\${GITHUB_SERVER_URL}",
|
||||||
"GITHUB_LOCKDOWN_MODE": "$GITHUB_MCP_LOCKDOWN",
|
"GITHUB_LOCKDOWN_MODE": "$GITHUB_MCP_LOCKDOWN",
|
||||||
"GITHUB_PERSONAL_ACCESS_TOKEN": "\${GITHUB_MCP_SERVER_TOKEN}",
|
"GITHUB_PERSONAL_ACCESS_TOKEN": "\${GITHUB_MCP_SERVER_TOKEN}",
|
||||||
"GITHUB_READ_ONLY": "1",
|
"GITHUB_READ_ONLY": "1",
|
||||||
@@ -648,7 +653,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
GH_AW_MCP_CONFIG_EOF
|
GH_AW_MCP_CONFIG_EOF
|
||||||
- name: Download activation artifact
|
- name: Download activation artifact
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: activation
|
name: activation
|
||||||
path: /tmp/gh-aw
|
path: /tmp/gh-aw
|
||||||
@@ -662,7 +667,7 @@ jobs:
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
touch /tmp/gh-aw/agent-step-summary.md
|
touch /tmp/gh-aw/agent-step-summary.md
|
||||||
# shellcheck disable=SC1003
|
# shellcheck disable=SC1003
|
||||||
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.23.0 --skip-pull --enable-api-proxy \
|
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.24.2 --skip-pull --enable-api-proxy \
|
||||||
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-all-tools --allow-all-paths --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
|
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-all-tools --allow-all-paths --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
|
||||||
env:
|
env:
|
||||||
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
||||||
@@ -672,7 +677,7 @@ jobs:
|
|||||||
GH_AW_PHASE: agent
|
GH_AW_PHASE: agent
|
||||||
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
||||||
GH_AW_VERSION: v0.57.2
|
GH_AW_VERSION: v0.59.0
|
||||||
GITHUB_API_URL: ${{ github.api_url }}
|
GITHUB_API_URL: ${{ github.api_url }}
|
||||||
GITHUB_AW: true
|
GITHUB_AW: true
|
||||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
@@ -747,13 +752,11 @@ jobs:
|
|||||||
- name: Append agent step summary
|
- name: Append agent step summary
|
||||||
if: always()
|
if: always()
|
||||||
run: bash /opt/gh-aw/actions/append_agent_step_summary.sh
|
run: bash /opt/gh-aw/actions/append_agent_step_summary.sh
|
||||||
- name: Upload Safe Outputs
|
- name: Copy Safe Outputs
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
run: |
|
||||||
with:
|
mkdir -p /tmp/gh-aw
|
||||||
name: safe-output
|
cp "$GH_AW_SAFE_OUTPUTS" /tmp/gh-aw/safeoutputs.jsonl 2>/dev/null || true
|
||||||
path: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
|
||||||
if-no-files-found: warn
|
|
||||||
- name: Ingest agent output
|
- name: Ingest agent output
|
||||||
id: collect_output
|
id: collect_output
|
||||||
if: always()
|
if: always()
|
||||||
@@ -769,21 +772,6 @@ jobs:
|
|||||||
setupGlobals(core, github, context, exec, io);
|
setupGlobals(core, github, context, exec, io);
|
||||||
const { main } = require('/opt/gh-aw/actions/collect_ndjson_output.cjs');
|
const { main } = require('/opt/gh-aw/actions/collect_ndjson_output.cjs');
|
||||||
await main();
|
await main();
|
||||||
- name: Upload sanitized agent output
|
|
||||||
if: always() && env.GH_AW_AGENT_OUTPUT
|
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
|
||||||
with:
|
|
||||||
name: agent-output
|
|
||||||
path: ${{ env.GH_AW_AGENT_OUTPUT }}
|
|
||||||
if-no-files-found: warn
|
|
||||||
- name: Upload engine output files
|
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
|
||||||
with:
|
|
||||||
name: agent_outputs
|
|
||||||
path: |
|
|
||||||
/tmp/gh-aw/sandbox/agent/logs/
|
|
||||||
/tmp/gh-aw/redacted-urls.log
|
|
||||||
if-no-files-found: ignore
|
|
||||||
- name: Parse agent logs for step summary
|
- name: Parse agent logs for step summary
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -822,15 +810,19 @@ jobs:
|
|||||||
- name: Upload agent artifacts
|
- name: Upload agent artifacts
|
||||||
if: always()
|
if: always()
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: agent-artifacts
|
name: agent
|
||||||
path: |
|
path: |
|
||||||
/tmp/gh-aw/aw-prompts/prompt.txt
|
/tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
|
/tmp/gh-aw/sandbox/agent/logs/
|
||||||
|
/tmp/gh-aw/redacted-urls.log
|
||||||
/tmp/gh-aw/mcp-logs/
|
/tmp/gh-aw/mcp-logs/
|
||||||
/tmp/gh-aw/sandbox/firewall/logs/
|
/tmp/gh-aw/sandbox/firewall/logs/
|
||||||
/tmp/gh-aw/agent-stdio.log
|
/tmp/gh-aw/agent-stdio.log
|
||||||
/tmp/gh-aw/agent/
|
/tmp/gh-aw/agent/
|
||||||
|
/tmp/gh-aw/safeoutputs.jsonl
|
||||||
|
/tmp/gh-aw/agent_output.json
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
# --- Threat Detection (inline) ---
|
# --- Threat Detection (inline) ---
|
||||||
- name: Check if detection needed
|
- name: Check if detection needed
|
||||||
@@ -898,7 +890,7 @@ jobs:
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
touch /tmp/gh-aw/agent-step-summary.md
|
touch /tmp/gh-aw/agent-step-summary.md
|
||||||
# shellcheck disable=SC1003
|
# shellcheck disable=SC1003
|
||||||
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,github.com,host.docker.internal,raw.githubusercontent.com,registry.npmjs.org,telemetry.enterprise.githubcopilot.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.23.0 --skip-pull --enable-api-proxy \
|
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,github.com,host.docker.internal,raw.githubusercontent.com,registry.npmjs.org,telemetry.enterprise.githubcopilot.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.24.2 --skip-pull --enable-api-proxy \
|
||||||
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-tool '\''shell(cat)'\'' --allow-tool '\''shell(grep)'\'' --allow-tool '\''shell(head)'\'' --allow-tool '\''shell(jq)'\'' --allow-tool '\''shell(ls)'\'' --allow-tool '\''shell(tail)'\'' --allow-tool '\''shell(wc)'\'' --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
|
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-tool '\''shell(cat)'\'' --allow-tool '\''shell(grep)'\'' --allow-tool '\''shell(head)'\'' --allow-tool '\''shell(jq)'\'' --allow-tool '\''shell(ls)'\'' --allow-tool '\''shell(tail)'\'' --allow-tool '\''shell(wc)'\'' --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
|
||||||
env:
|
env:
|
||||||
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
||||||
@@ -906,7 +898,7 @@ jobs:
|
|||||||
COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || '' }}
|
COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || '' }}
|
||||||
GH_AW_PHASE: detection
|
GH_AW_PHASE: detection
|
||||||
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
GH_AW_VERSION: v0.57.2
|
GH_AW_VERSION: v0.59.0
|
||||||
GITHUB_API_URL: ${{ github.api_url }}
|
GITHUB_API_URL: ${{ github.api_url }}
|
||||||
GITHUB_AW: true
|
GITHUB_AW: true
|
||||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
@@ -931,9 +923,9 @@ jobs:
|
|||||||
await main();
|
await main();
|
||||||
- name: Upload threat detection log
|
- name: Upload threat detection log
|
||||||
if: always() && steps.detection_guard.outputs.run_detection == 'true'
|
if: always() && steps.detection_guard.outputs.run_detection == 'true'
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: threat-detection.log
|
name: detection
|
||||||
path: /tmp/gh-aw/threat-detection/detection.log
|
path: /tmp/gh-aw/threat-detection/detection.log
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
- name: Set detection conclusion
|
- name: Set detection conclusion
|
||||||
@@ -976,22 +968,22 @@ jobs:
|
|||||||
total_count: ${{ steps.missing_tool.outputs.total_count }}
|
total_count: ${{ steps.missing_tool.outputs.total_count }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Download agent output artifact
|
- name: Download agent output artifact
|
||||||
id: download-agent-output
|
id: download-agent-output
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: agent-output
|
name: agent
|
||||||
path: /tmp/gh-aw/safeoutputs/
|
path: /tmp/gh-aw/
|
||||||
- name: Setup agent output environment variable
|
- name: Setup agent output environment variable
|
||||||
if: steps.download-agent-output.outcome == 'success'
|
if: steps.download-agent-output.outcome == 'success'
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /tmp/gh-aw/safeoutputs/
|
mkdir -p /tmp/gh-aw/
|
||||||
find "/tmp/gh-aw/safeoutputs/" -type f -print
|
find "/tmp/gh-aw/" -type f -print
|
||||||
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/safeoutputs/agent_output.json" >> "$GITHUB_ENV"
|
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_ENV"
|
||||||
- name: Process No-Op Messages
|
- name: Process No-Op Messages
|
||||||
id: noop
|
id: noop
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -1083,22 +1075,22 @@ jobs:
|
|||||||
process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
|
process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Download agent output artifact
|
- name: Download agent output artifact
|
||||||
id: download-agent-output
|
id: download-agent-output
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: agent-output
|
name: agent
|
||||||
path: /tmp/gh-aw/safeoutputs/
|
path: /tmp/gh-aw/
|
||||||
- name: Setup agent output environment variable
|
- name: Setup agent output environment variable
|
||||||
if: steps.download-agent-output.outcome == 'success'
|
if: steps.download-agent-output.outcome == 'success'
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /tmp/gh-aw/safeoutputs/
|
mkdir -p /tmp/gh-aw/
|
||||||
find "/tmp/gh-aw/safeoutputs/" -type f -print
|
find "/tmp/gh-aw/" -type f -print
|
||||||
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/safeoutputs/agent_output.json" >> "$GITHUB_ENV"
|
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_ENV"
|
||||||
- name: Process Safe Outputs
|
- name: Process Safe Outputs
|
||||||
id: process_safe_outputs
|
id: process_safe_outputs
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -1115,9 +1107,9 @@ jobs:
|
|||||||
setupGlobals(core, github, context, exec, io);
|
setupGlobals(core, github, context, exec, io);
|
||||||
const { main } = require('/opt/gh-aw/actions/safe_output_handler_manager.cjs');
|
const { main } = require('/opt/gh-aw/actions/safe_output_handler_manager.cjs');
|
||||||
await main();
|
await main();
|
||||||
- name: Upload safe output items manifest
|
- name: Upload Safe Output Items Manifest
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: safe-output-items
|
name: safe-output-items
|
||||||
path: /tmp/safe-output-items.jsonl
|
path: /tmp/safe-output-items.jsonl
|
||||||
|
|||||||
1198
.github/workflows/learning-hub-updater.lock.yml
generated
vendored
Normal file
1198
.github/workflows/learning-hub-updater.lock.yml
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
84
.github/workflows/learning-hub-updater.md
vendored
Normal file
84
.github/workflows/learning-hub-updater.md
vendored
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
---
|
||||||
|
name: "Learning Hub Updater"
|
||||||
|
description: "Daily check for new GitHub Copilot features and updates. Opens a PR if the Learning Hub needs updating."
|
||||||
|
on:
|
||||||
|
schedule: daily
|
||||||
|
workflow_dispatch:
|
||||||
|
tools:
|
||||||
|
bash: ["curl", "gh"]
|
||||||
|
edit:
|
||||||
|
web-fetch:
|
||||||
|
github:
|
||||||
|
toolsets: [repos]
|
||||||
|
allowed-domains:
|
||||||
|
- github.blog
|
||||||
|
- code.visualstudio.com
|
||||||
|
- nishanil.github.io
|
||||||
|
safe-outputs:
|
||||||
|
create-pull-request:
|
||||||
|
labels: [automated-update, copilot-updates]
|
||||||
|
title-prefix: "[bot] "
|
||||||
|
base-branch: staged
|
||||||
|
---
|
||||||
|
|
||||||
|
# Check for Awesome GitHub Copilot Updates
|
||||||
|
|
||||||
|
You are a documentation maintainer for the Awesome GitHub Copilot Learning Hub. Your job is to check for recent updates to GitHub Copilot and determine if the Learning Hub pages in `website/learning-hub` need updating.
|
||||||
|
|
||||||
|
## Step 1 — Gather recent Copilot updates
|
||||||
|
|
||||||
|
Use `web-fetch` to read the following pages and extract the latest entries from the past 7 days:
|
||||||
|
|
||||||
|
- https://github.blog/changelog/label/copilot/ — official changelog
|
||||||
|
- https://github.com/github/copilot-cli/blob/main/changelog.md — CLI changelog
|
||||||
|
- https://github.blog/ai-and-ml/github-copilot/ — blog posts
|
||||||
|
- https://code.visualstudio.com/updates - VS Code release notes (filter for Copilot-related updates)
|
||||||
|
- https://nishanil.github.io/copilot-guide/ - community-maintained guide (check for recent commits or updates)
|
||||||
|
|
||||||
|
Also use `gh` CLI to check the latest releases and commits in the `github/copilot-cli` repo.
|
||||||
|
|
||||||
|
Look for:
|
||||||
|
|
||||||
|
- New features or capabilities (new slash commands, new agent modes, new integrations)
|
||||||
|
- Significant changes to existing features (renames, deprecations, GA announcements)
|
||||||
|
- New customization options (instructions, agents, skills, MCP, hooks, plugins)
|
||||||
|
- New platform features (memory, spaces, SDK updates)
|
||||||
|
- Notable community projects built on Copilot
|
||||||
|
|
||||||
|
## Step 2 — Compare against the current Learning Hub
|
||||||
|
|
||||||
|
Read the pages in the current Learning Hub and compare the features documented there against what you found in Step 1.
|
||||||
|
|
||||||
|
Identify:
|
||||||
|
|
||||||
|
- **Missing features** — new capabilities not yet documented
|
||||||
|
- **Outdated information** — features that have been renamed, deprecated, or significantly changed
|
||||||
|
- **Missing links** — new official docs or blog posts not in the Further Reading section
|
||||||
|
|
||||||
|
If there is nothing new or everything is already up to date, stop here and report that no updates are needed.
|
||||||
|
|
||||||
|
## Step 3 — Update the Learning Hub
|
||||||
|
|
||||||
|
If updates are needed, make a decision on whether a new page needs to be added (e.g., for a major new feature) or if existing pages can be updated with new sections.
|
||||||
|
|
||||||
|
### For new pages:
|
||||||
|
|
||||||
|
A new page should be created for major features or capabilities that warrant their own documentation (e.g., a new feature of Copilot, a new pattern for working with Copilot, etc.).
|
||||||
|
|
||||||
|
To create a new page:
|
||||||
|
|
||||||
|
1. Create a new markdown file in the appropriate section of `website/learning-hub` (e.g., `website/learning-hub/agents/new-agent.md`).
|
||||||
|
2. Write a summary of the new feature, how it works, and its use cases.
|
||||||
|
3. Add a "Further Reading" section with links to official documentation, blog posts, and relevant community resources.
|
||||||
|
|
||||||
|
### For updates to existing pages:
|
||||||
|
|
||||||
|
If the new information can be added to existing pages, edit those pages to include refinements, new sections, or updated information as needed. Make sure to update any relevant links in the "Further Reading" sections.
|
||||||
|
|
||||||
|
## Step 4 — Open a pull request
|
||||||
|
|
||||||
|
Create a pull request with your changes. The PR title should summarize what was updated (e.g., "Add/plan command and model marketplace documentation"). The PR body should list:
|
||||||
|
|
||||||
|
1. What new features or changes were found
|
||||||
|
2. What sections of the guide were updated
|
||||||
|
3. Links to the source announcements
|
||||||
108
.github/workflows/pr-duplicate-check.lock.yml
generated
vendored
108
.github/workflows/pr-duplicate-check.lock.yml
generated
vendored
@@ -13,7 +13,7 @@
|
|||||||
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
|
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
|
||||||
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
|
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
|
||||||
#
|
#
|
||||||
# This file was automatically generated by gh-aw (v0.57.2). DO NOT EDIT.
|
# This file was automatically generated by gh-aw (v0.59.0). DO NOT EDIT.
|
||||||
#
|
#
|
||||||
# To update this file, edit the corresponding .md file and run:
|
# To update this file, edit the corresponding .md file and run:
|
||||||
# gh aw compile
|
# gh aw compile
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
#
|
#
|
||||||
# Checks PRs for potential duplicate agents, instructions, skills, and workflows already in the repository
|
# Checks PRs for potential duplicate agents, instructions, skills, and workflows already in the repository
|
||||||
#
|
#
|
||||||
# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"becfe3455b339f84e723cebea7f5ee69b60955002cdac64d47fc889fce848ebe","compiler_version":"v0.57.2","strict":true}
|
# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"becfe3455b339f84e723cebea7f5ee69b60955002cdac64d47fc889fce848ebe","compiler_version":"v0.59.0","strict":true}
|
||||||
|
|
||||||
name: "PR Duplicate Check"
|
name: "PR Duplicate Check"
|
||||||
"on":
|
"on":
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
title: ${{ steps.sanitized.outputs.title }}
|
title: ${{ steps.sanitized.outputs.title }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Generate agentic run info
|
- name: Generate agentic run info
|
||||||
@@ -70,14 +70,14 @@ jobs:
|
|||||||
GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}
|
GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}
|
||||||
GH_AW_INFO_VERSION: ""
|
GH_AW_INFO_VERSION: ""
|
||||||
GH_AW_INFO_AGENT_VERSION: "latest"
|
GH_AW_INFO_AGENT_VERSION: "latest"
|
||||||
GH_AW_INFO_CLI_VERSION: "v0.57.2"
|
GH_AW_INFO_CLI_VERSION: "v0.59.0"
|
||||||
GH_AW_INFO_WORKFLOW_NAME: "PR Duplicate Check"
|
GH_AW_INFO_WORKFLOW_NAME: "PR Duplicate Check"
|
||||||
GH_AW_INFO_EXPERIMENTAL: "false"
|
GH_AW_INFO_EXPERIMENTAL: "false"
|
||||||
GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
|
GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
|
||||||
GH_AW_INFO_STAGED: "false"
|
GH_AW_INFO_STAGED: "false"
|
||||||
GH_AW_INFO_ALLOWED_DOMAINS: '["defaults"]'
|
GH_AW_INFO_ALLOWED_DOMAINS: '["defaults"]'
|
||||||
GH_AW_INFO_FIREWALL_ENABLED: "true"
|
GH_AW_INFO_FIREWALL_ENABLED: "true"
|
||||||
GH_AW_INFO_AWF_VERSION: "v0.23.0"
|
GH_AW_INFO_AWF_VERSION: "v0.24.2"
|
||||||
GH_AW_INFO_AWMG_VERSION: ""
|
GH_AW_INFO_AWMG_VERSION: ""
|
||||||
GH_AW_INFO_FIREWALL_TYPE: "squid"
|
GH_AW_INFO_FIREWALL_TYPE: "squid"
|
||||||
GH_AW_COMPILED_STRICT: "true"
|
GH_AW_COMPILED_STRICT: "true"
|
||||||
@@ -237,7 +237,7 @@ jobs:
|
|||||||
run: bash /opt/gh-aw/actions/print_prompt_summary.sh
|
run: bash /opt/gh-aw/actions/print_prompt_summary.sh
|
||||||
- name: Upload activation artifact
|
- name: Upload activation artifact
|
||||||
if: success()
|
if: success()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: activation
|
name: activation
|
||||||
path: |
|
path: |
|
||||||
@@ -272,7 +272,7 @@ jobs:
|
|||||||
output_types: ${{ steps.collect_output.outputs.output_types }}
|
output_types: ${{ steps.collect_output.outputs.output_types }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -309,8 +309,10 @@ jobs:
|
|||||||
await main();
|
await main();
|
||||||
- name: Install GitHub Copilot CLI
|
- name: Install GitHub Copilot CLI
|
||||||
run: /opt/gh-aw/actions/install_copilot_cli.sh latest
|
run: /opt/gh-aw/actions/install_copilot_cli.sh latest
|
||||||
- name: Install awf binary
|
env:
|
||||||
run: bash /opt/gh-aw/actions/install_awf_binary.sh v0.23.0
|
GH_HOST: github.com
|
||||||
|
- name: Install AWF binary
|
||||||
|
run: bash /opt/gh-aw/actions/install_awf_binary.sh v0.24.2
|
||||||
- name: Determine automatic lockdown mode for GitHub MCP Server
|
- name: Determine automatic lockdown mode for GitHub MCP Server
|
||||||
id: determine-automatic-lockdown
|
id: determine-automatic-lockdown
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -322,7 +324,7 @@ jobs:
|
|||||||
const determineAutomaticLockdown = require('/opt/gh-aw/actions/determine_automatic_lockdown.cjs');
|
const determineAutomaticLockdown = require('/opt/gh-aw/actions/determine_automatic_lockdown.cjs');
|
||||||
await determineAutomaticLockdown(github, context, core);
|
await determineAutomaticLockdown(github, context, core);
|
||||||
- name: Download container images
|
- name: Download container images
|
||||||
run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.23.0 ghcr.io/github/gh-aw-firewall/api-proxy:0.23.0 ghcr.io/github/gh-aw-firewall/squid:0.23.0 ghcr.io/github/gh-aw-mcpg:v0.1.8 ghcr.io/github/github-mcp-server:v0.32.0 node:lts-alpine
|
run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.24.2 ghcr.io/github/gh-aw-firewall/api-proxy:0.24.2 ghcr.io/github/gh-aw-firewall/squid:0.24.2 ghcr.io/github/gh-aw-mcpg:v0.1.15 ghcr.io/github/github-mcp-server:v0.32.0 node:lts-alpine
|
||||||
- name: Write Safe Outputs Config
|
- name: Write Safe Outputs Config
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /opt/gh-aw/safeoutputs
|
mkdir -p /opt/gh-aw/safeoutputs
|
||||||
@@ -331,6 +333,8 @@ jobs:
|
|||||||
cat > /opt/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_EOF'
|
cat > /opt/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_EOF'
|
||||||
{"add_comment":{"max":1},"missing_data":{},"missing_tool":{},"noop":{"max":1}}
|
{"add_comment":{"max":1},"missing_data":{},"missing_tool":{},"noop":{"max":1}}
|
||||||
GH_AW_SAFE_OUTPUTS_CONFIG_EOF
|
GH_AW_SAFE_OUTPUTS_CONFIG_EOF
|
||||||
|
- name: Write Safe Outputs Tools
|
||||||
|
run: |
|
||||||
cat > /opt/gh-aw/safeoutputs/tools.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_EOF'
|
cat > /opt/gh-aw/safeoutputs/tools.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_EOF'
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@@ -606,7 +610,7 @@ jobs:
|
|||||||
export DEBUG="*"
|
export DEBUG="*"
|
||||||
|
|
||||||
export GH_AW_ENGINE="copilot"
|
export GH_AW_ENGINE="copilot"
|
||||||
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_LOCKDOWN -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.8'
|
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_LOCKDOWN -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.15'
|
||||||
|
|
||||||
mkdir -p /home/runner/.copilot
|
mkdir -p /home/runner/.copilot
|
||||||
cat << GH_AW_MCP_CONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh
|
cat << GH_AW_MCP_CONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh
|
||||||
@@ -616,6 +620,7 @@ jobs:
|
|||||||
"type": "stdio",
|
"type": "stdio",
|
||||||
"container": "ghcr.io/github/github-mcp-server:v0.32.0",
|
"container": "ghcr.io/github/github-mcp-server:v0.32.0",
|
||||||
"env": {
|
"env": {
|
||||||
|
"GITHUB_HOST": "\${GITHUB_SERVER_URL}",
|
||||||
"GITHUB_LOCKDOWN_MODE": "$GITHUB_MCP_LOCKDOWN",
|
"GITHUB_LOCKDOWN_MODE": "$GITHUB_MCP_LOCKDOWN",
|
||||||
"GITHUB_PERSONAL_ACCESS_TOKEN": "\${GITHUB_MCP_SERVER_TOKEN}",
|
"GITHUB_PERSONAL_ACCESS_TOKEN": "\${GITHUB_MCP_SERVER_TOKEN}",
|
||||||
"GITHUB_READ_ONLY": "1",
|
"GITHUB_READ_ONLY": "1",
|
||||||
@@ -639,7 +644,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
GH_AW_MCP_CONFIG_EOF
|
GH_AW_MCP_CONFIG_EOF
|
||||||
- name: Download activation artifact
|
- name: Download activation artifact
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: activation
|
name: activation
|
||||||
path: /tmp/gh-aw
|
path: /tmp/gh-aw
|
||||||
@@ -653,7 +658,7 @@ jobs:
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
touch /tmp/gh-aw/agent-step-summary.md
|
touch /tmp/gh-aw/agent-step-summary.md
|
||||||
# shellcheck disable=SC1003
|
# shellcheck disable=SC1003
|
||||||
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.23.0 --skip-pull --enable-api-proxy \
|
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.24.2 --skip-pull --enable-api-proxy \
|
||||||
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-all-tools --allow-all-paths --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
|
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-all-tools --allow-all-paths --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
|
||||||
env:
|
env:
|
||||||
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
||||||
@@ -663,7 +668,7 @@ jobs:
|
|||||||
GH_AW_PHASE: agent
|
GH_AW_PHASE: agent
|
||||||
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
||||||
GH_AW_VERSION: v0.57.2
|
GH_AW_VERSION: v0.59.0
|
||||||
GITHUB_API_URL: ${{ github.api_url }}
|
GITHUB_API_URL: ${{ github.api_url }}
|
||||||
GITHUB_AW: true
|
GITHUB_AW: true
|
||||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
@@ -738,13 +743,11 @@ jobs:
|
|||||||
- name: Append agent step summary
|
- name: Append agent step summary
|
||||||
if: always()
|
if: always()
|
||||||
run: bash /opt/gh-aw/actions/append_agent_step_summary.sh
|
run: bash /opt/gh-aw/actions/append_agent_step_summary.sh
|
||||||
- name: Upload Safe Outputs
|
- name: Copy Safe Outputs
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
run: |
|
||||||
with:
|
mkdir -p /tmp/gh-aw
|
||||||
name: safe-output
|
cp "$GH_AW_SAFE_OUTPUTS" /tmp/gh-aw/safeoutputs.jsonl 2>/dev/null || true
|
||||||
path: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
|
||||||
if-no-files-found: warn
|
|
||||||
- name: Ingest agent output
|
- name: Ingest agent output
|
||||||
id: collect_output
|
id: collect_output
|
||||||
if: always()
|
if: always()
|
||||||
@@ -760,21 +763,6 @@ jobs:
|
|||||||
setupGlobals(core, github, context, exec, io);
|
setupGlobals(core, github, context, exec, io);
|
||||||
const { main } = require('/opt/gh-aw/actions/collect_ndjson_output.cjs');
|
const { main } = require('/opt/gh-aw/actions/collect_ndjson_output.cjs');
|
||||||
await main();
|
await main();
|
||||||
- name: Upload sanitized agent output
|
|
||||||
if: always() && env.GH_AW_AGENT_OUTPUT
|
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
|
||||||
with:
|
|
||||||
name: agent-output
|
|
||||||
path: ${{ env.GH_AW_AGENT_OUTPUT }}
|
|
||||||
if-no-files-found: warn
|
|
||||||
- name: Upload engine output files
|
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
|
||||||
with:
|
|
||||||
name: agent_outputs
|
|
||||||
path: |
|
|
||||||
/tmp/gh-aw/sandbox/agent/logs/
|
|
||||||
/tmp/gh-aw/redacted-urls.log
|
|
||||||
if-no-files-found: ignore
|
|
||||||
- name: Parse agent logs for step summary
|
- name: Parse agent logs for step summary
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -813,15 +801,19 @@ jobs:
|
|||||||
- name: Upload agent artifacts
|
- name: Upload agent artifacts
|
||||||
if: always()
|
if: always()
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: agent-artifacts
|
name: agent
|
||||||
path: |
|
path: |
|
||||||
/tmp/gh-aw/aw-prompts/prompt.txt
|
/tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
|
/tmp/gh-aw/sandbox/agent/logs/
|
||||||
|
/tmp/gh-aw/redacted-urls.log
|
||||||
/tmp/gh-aw/mcp-logs/
|
/tmp/gh-aw/mcp-logs/
|
||||||
/tmp/gh-aw/sandbox/firewall/logs/
|
/tmp/gh-aw/sandbox/firewall/logs/
|
||||||
/tmp/gh-aw/agent-stdio.log
|
/tmp/gh-aw/agent-stdio.log
|
||||||
/tmp/gh-aw/agent/
|
/tmp/gh-aw/agent/
|
||||||
|
/tmp/gh-aw/safeoutputs.jsonl
|
||||||
|
/tmp/gh-aw/agent_output.json
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
# --- Threat Detection (inline) ---
|
# --- Threat Detection (inline) ---
|
||||||
- name: Check if detection needed
|
- name: Check if detection needed
|
||||||
@@ -889,7 +881,7 @@ jobs:
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
touch /tmp/gh-aw/agent-step-summary.md
|
touch /tmp/gh-aw/agent-step-summary.md
|
||||||
# shellcheck disable=SC1003
|
# shellcheck disable=SC1003
|
||||||
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,github.com,host.docker.internal,raw.githubusercontent.com,registry.npmjs.org,telemetry.enterprise.githubcopilot.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.23.0 --skip-pull --enable-api-proxy \
|
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,github.com,host.docker.internal,raw.githubusercontent.com,registry.npmjs.org,telemetry.enterprise.githubcopilot.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.24.2 --skip-pull --enable-api-proxy \
|
||||||
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-tool '\''shell(cat)'\'' --allow-tool '\''shell(grep)'\'' --allow-tool '\''shell(head)'\'' --allow-tool '\''shell(jq)'\'' --allow-tool '\''shell(ls)'\'' --allow-tool '\''shell(tail)'\'' --allow-tool '\''shell(wc)'\'' --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
|
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-tool '\''shell(cat)'\'' --allow-tool '\''shell(grep)'\'' --allow-tool '\''shell(head)'\'' --allow-tool '\''shell(jq)'\'' --allow-tool '\''shell(ls)'\'' --allow-tool '\''shell(tail)'\'' --allow-tool '\''shell(wc)'\'' --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
|
||||||
env:
|
env:
|
||||||
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
||||||
@@ -897,7 +889,7 @@ jobs:
|
|||||||
COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || '' }}
|
COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || '' }}
|
||||||
GH_AW_PHASE: detection
|
GH_AW_PHASE: detection
|
||||||
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
GH_AW_VERSION: v0.57.2
|
GH_AW_VERSION: v0.59.0
|
||||||
GITHUB_API_URL: ${{ github.api_url }}
|
GITHUB_API_URL: ${{ github.api_url }}
|
||||||
GITHUB_AW: true
|
GITHUB_AW: true
|
||||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
@@ -922,9 +914,9 @@ jobs:
|
|||||||
await main();
|
await main();
|
||||||
- name: Upload threat detection log
|
- name: Upload threat detection log
|
||||||
if: always() && steps.detection_guard.outputs.run_detection == 'true'
|
if: always() && steps.detection_guard.outputs.run_detection == 'true'
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: threat-detection.log
|
name: detection
|
||||||
path: /tmp/gh-aw/threat-detection/detection.log
|
path: /tmp/gh-aw/threat-detection/detection.log
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
- name: Set detection conclusion
|
- name: Set detection conclusion
|
||||||
@@ -969,22 +961,22 @@ jobs:
|
|||||||
total_count: ${{ steps.missing_tool.outputs.total_count }}
|
total_count: ${{ steps.missing_tool.outputs.total_count }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Download agent output artifact
|
- name: Download agent output artifact
|
||||||
id: download-agent-output
|
id: download-agent-output
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: agent-output
|
name: agent
|
||||||
path: /tmp/gh-aw/safeoutputs/
|
path: /tmp/gh-aw/
|
||||||
- name: Setup agent output environment variable
|
- name: Setup agent output environment variable
|
||||||
if: steps.download-agent-output.outcome == 'success'
|
if: steps.download-agent-output.outcome == 'success'
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /tmp/gh-aw/safeoutputs/
|
mkdir -p /tmp/gh-aw/
|
||||||
find "/tmp/gh-aw/safeoutputs/" -type f -print
|
find "/tmp/gh-aw/" -type f -print
|
||||||
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/safeoutputs/agent_output.json" >> "$GITHUB_ENV"
|
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_ENV"
|
||||||
- name: Process No-Op Messages
|
- name: Process No-Op Messages
|
||||||
id: noop
|
id: noop
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -1060,7 +1052,7 @@ jobs:
|
|||||||
matched_command: ''
|
matched_command: ''
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Check team membership for workflow
|
- name: Check team membership for workflow
|
||||||
@@ -1102,22 +1094,22 @@ jobs:
|
|||||||
process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
|
process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Download agent output artifact
|
- name: Download agent output artifact
|
||||||
id: download-agent-output
|
id: download-agent-output
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: agent-output
|
name: agent
|
||||||
path: /tmp/gh-aw/safeoutputs/
|
path: /tmp/gh-aw/
|
||||||
- name: Setup agent output environment variable
|
- name: Setup agent output environment variable
|
||||||
if: steps.download-agent-output.outcome == 'success'
|
if: steps.download-agent-output.outcome == 'success'
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /tmp/gh-aw/safeoutputs/
|
mkdir -p /tmp/gh-aw/
|
||||||
find "/tmp/gh-aw/safeoutputs/" -type f -print
|
find "/tmp/gh-aw/" -type f -print
|
||||||
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/safeoutputs/agent_output.json" >> "$GITHUB_ENV"
|
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_ENV"
|
||||||
- name: Process Safe Outputs
|
- name: Process Safe Outputs
|
||||||
id: process_safe_outputs
|
id: process_safe_outputs
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -1134,9 +1126,9 @@ jobs:
|
|||||||
setupGlobals(core, github, context, exec, io);
|
setupGlobals(core, github, context, exec, io);
|
||||||
const { main } = require('/opt/gh-aw/actions/safe_output_handler_manager.cjs');
|
const { main } = require('/opt/gh-aw/actions/safe_output_handler_manager.cjs');
|
||||||
await main();
|
await main();
|
||||||
- name: Upload safe output items manifest
|
- name: Upload Safe Output Items Manifest
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: safe-output-items
|
name: safe-output-items
|
||||||
path: /tmp/safe-output-items.jsonl
|
path: /tmp/safe-output-items.jsonl
|
||||||
|
|||||||
106
.github/workflows/resource-staleness-report.lock.yml
generated
vendored
106
.github/workflows/resource-staleness-report.lock.yml
generated
vendored
@@ -13,7 +13,7 @@
|
|||||||
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
|
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
|
||||||
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
|
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
|
||||||
#
|
#
|
||||||
# This file was automatically generated by gh-aw (v0.57.2). DO NOT EDIT.
|
# This file was automatically generated by gh-aw (v0.59.0). DO NOT EDIT.
|
||||||
#
|
#
|
||||||
# To update this file, edit the corresponding .md file and run:
|
# To update this file, edit the corresponding .md file and run:
|
||||||
# gh aw compile
|
# gh aw compile
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
#
|
#
|
||||||
# Weekly report identifying stale and aging resources across agents, prompts, instructions, hooks, and skills folders
|
# Weekly report identifying stale and aging resources across agents, prompts, instructions, hooks, and skills folders
|
||||||
#
|
#
|
||||||
# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"9ab9dc5c875492aa5da7b793735c1a9816a55c753165c01efd9d86087d7f33d3","compiler_version":"v0.57.2","strict":true}
|
# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"9ab9dc5c875492aa5da7b793735c1a9816a55c753165c01efd9d86087d7f33d3","compiler_version":"v0.59.0","strict":true}
|
||||||
|
|
||||||
name: "Resource Staleness Report"
|
name: "Resource Staleness Report"
|
||||||
"on":
|
"on":
|
||||||
@@ -51,7 +51,7 @@ jobs:
|
|||||||
secret_verification_result: ${{ steps.validate-secret.outputs.verification_result }}
|
secret_verification_result: ${{ steps.validate-secret.outputs.verification_result }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Generate agentic run info
|
- name: Generate agentic run info
|
||||||
@@ -62,14 +62,14 @@ jobs:
|
|||||||
GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}
|
GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}
|
||||||
GH_AW_INFO_VERSION: ""
|
GH_AW_INFO_VERSION: ""
|
||||||
GH_AW_INFO_AGENT_VERSION: "latest"
|
GH_AW_INFO_AGENT_VERSION: "latest"
|
||||||
GH_AW_INFO_CLI_VERSION: "v0.57.2"
|
GH_AW_INFO_CLI_VERSION: "v0.59.0"
|
||||||
GH_AW_INFO_WORKFLOW_NAME: "Resource Staleness Report"
|
GH_AW_INFO_WORKFLOW_NAME: "Resource Staleness Report"
|
||||||
GH_AW_INFO_EXPERIMENTAL: "false"
|
GH_AW_INFO_EXPERIMENTAL: "false"
|
||||||
GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
|
GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
|
||||||
GH_AW_INFO_STAGED: "false"
|
GH_AW_INFO_STAGED: "false"
|
||||||
GH_AW_INFO_ALLOWED_DOMAINS: '["defaults"]'
|
GH_AW_INFO_ALLOWED_DOMAINS: '["defaults"]'
|
||||||
GH_AW_INFO_FIREWALL_ENABLED: "true"
|
GH_AW_INFO_FIREWALL_ENABLED: "true"
|
||||||
GH_AW_INFO_AWF_VERSION: "v0.23.0"
|
GH_AW_INFO_AWF_VERSION: "v0.24.2"
|
||||||
GH_AW_INFO_AWMG_VERSION: ""
|
GH_AW_INFO_AWMG_VERSION: ""
|
||||||
GH_AW_INFO_FIREWALL_TYPE: "squid"
|
GH_AW_INFO_FIREWALL_TYPE: "squid"
|
||||||
GH_AW_COMPILED_STRICT: "true"
|
GH_AW_COMPILED_STRICT: "true"
|
||||||
@@ -217,7 +217,7 @@ jobs:
|
|||||||
run: bash /opt/gh-aw/actions/print_prompt_summary.sh
|
run: bash /opt/gh-aw/actions/print_prompt_summary.sh
|
||||||
- name: Upload activation artifact
|
- name: Upload activation artifact
|
||||||
if: success()
|
if: success()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: activation
|
name: activation
|
||||||
path: |
|
path: |
|
||||||
@@ -253,7 +253,7 @@ jobs:
|
|||||||
output_types: ${{ steps.collect_output.outputs.output_types }}
|
output_types: ${{ steps.collect_output.outputs.output_types }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -290,8 +290,10 @@ jobs:
|
|||||||
await main();
|
await main();
|
||||||
- name: Install GitHub Copilot CLI
|
- name: Install GitHub Copilot CLI
|
||||||
run: /opt/gh-aw/actions/install_copilot_cli.sh latest
|
run: /opt/gh-aw/actions/install_copilot_cli.sh latest
|
||||||
- name: Install awf binary
|
env:
|
||||||
run: bash /opt/gh-aw/actions/install_awf_binary.sh v0.23.0
|
GH_HOST: github.com
|
||||||
|
- name: Install AWF binary
|
||||||
|
run: bash /opt/gh-aw/actions/install_awf_binary.sh v0.24.2
|
||||||
- name: Determine automatic lockdown mode for GitHub MCP Server
|
- name: Determine automatic lockdown mode for GitHub MCP Server
|
||||||
id: determine-automatic-lockdown
|
id: determine-automatic-lockdown
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -303,7 +305,7 @@ jobs:
|
|||||||
const determineAutomaticLockdown = require('/opt/gh-aw/actions/determine_automatic_lockdown.cjs');
|
const determineAutomaticLockdown = require('/opt/gh-aw/actions/determine_automatic_lockdown.cjs');
|
||||||
await determineAutomaticLockdown(github, context, core);
|
await determineAutomaticLockdown(github, context, core);
|
||||||
- name: Download container images
|
- name: Download container images
|
||||||
run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.23.0 ghcr.io/github/gh-aw-firewall/api-proxy:0.23.0 ghcr.io/github/gh-aw-firewall/squid:0.23.0 ghcr.io/github/gh-aw-mcpg:v0.1.8 ghcr.io/github/github-mcp-server:v0.32.0 node:lts-alpine
|
run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.24.2 ghcr.io/github/gh-aw-firewall/api-proxy:0.24.2 ghcr.io/github/gh-aw-firewall/squid:0.24.2 ghcr.io/github/gh-aw-mcpg:v0.1.15 ghcr.io/github/github-mcp-server:v0.32.0 node:lts-alpine
|
||||||
- name: Write Safe Outputs Config
|
- name: Write Safe Outputs Config
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /opt/gh-aw/safeoutputs
|
mkdir -p /opt/gh-aw/safeoutputs
|
||||||
@@ -312,6 +314,8 @@ jobs:
|
|||||||
cat > /opt/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_EOF'
|
cat > /opt/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_EOF'
|
||||||
{"create_issue":{"max":1},"missing_data":{},"missing_tool":{},"noop":{"max":1}}
|
{"create_issue":{"max":1},"missing_data":{},"missing_tool":{},"noop":{"max":1}}
|
||||||
GH_AW_SAFE_OUTPUTS_CONFIG_EOF
|
GH_AW_SAFE_OUTPUTS_CONFIG_EOF
|
||||||
|
- name: Write Safe Outputs Tools
|
||||||
|
run: |
|
||||||
cat > /opt/gh-aw/safeoutputs/tools.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_EOF'
|
cat > /opt/gh-aw/safeoutputs/tools.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_EOF'
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@@ -614,7 +618,7 @@ jobs:
|
|||||||
export DEBUG="*"
|
export DEBUG="*"
|
||||||
|
|
||||||
export GH_AW_ENGINE="copilot"
|
export GH_AW_ENGINE="copilot"
|
||||||
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_LOCKDOWN -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.8'
|
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_LOCKDOWN -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.15'
|
||||||
|
|
||||||
mkdir -p /home/runner/.copilot
|
mkdir -p /home/runner/.copilot
|
||||||
cat << GH_AW_MCP_CONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh
|
cat << GH_AW_MCP_CONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh
|
||||||
@@ -624,6 +628,7 @@ jobs:
|
|||||||
"type": "stdio",
|
"type": "stdio",
|
||||||
"container": "ghcr.io/github/github-mcp-server:v0.32.0",
|
"container": "ghcr.io/github/github-mcp-server:v0.32.0",
|
||||||
"env": {
|
"env": {
|
||||||
|
"GITHUB_HOST": "\${GITHUB_SERVER_URL}",
|
||||||
"GITHUB_LOCKDOWN_MODE": "$GITHUB_MCP_LOCKDOWN",
|
"GITHUB_LOCKDOWN_MODE": "$GITHUB_MCP_LOCKDOWN",
|
||||||
"GITHUB_PERSONAL_ACCESS_TOKEN": "\${GITHUB_MCP_SERVER_TOKEN}",
|
"GITHUB_PERSONAL_ACCESS_TOKEN": "\${GITHUB_MCP_SERVER_TOKEN}",
|
||||||
"GITHUB_READ_ONLY": "1",
|
"GITHUB_READ_ONLY": "1",
|
||||||
@@ -647,7 +652,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
GH_AW_MCP_CONFIG_EOF
|
GH_AW_MCP_CONFIG_EOF
|
||||||
- name: Download activation artifact
|
- name: Download activation artifact
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: activation
|
name: activation
|
||||||
path: /tmp/gh-aw
|
path: /tmp/gh-aw
|
||||||
@@ -661,7 +666,7 @@ jobs:
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
touch /tmp/gh-aw/agent-step-summary.md
|
touch /tmp/gh-aw/agent-step-summary.md
|
||||||
# shellcheck disable=SC1003
|
# shellcheck disable=SC1003
|
||||||
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.23.0 --skip-pull --enable-api-proxy \
|
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.24.2 --skip-pull --enable-api-proxy \
|
||||||
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-all-tools --allow-all-paths --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
|
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-all-tools --allow-all-paths --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
|
||||||
env:
|
env:
|
||||||
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
||||||
@@ -671,7 +676,7 @@ jobs:
|
|||||||
GH_AW_PHASE: agent
|
GH_AW_PHASE: agent
|
||||||
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
||||||
GH_AW_VERSION: v0.57.2
|
GH_AW_VERSION: v0.59.0
|
||||||
GITHUB_API_URL: ${{ github.api_url }}
|
GITHUB_API_URL: ${{ github.api_url }}
|
||||||
GITHUB_AW: true
|
GITHUB_AW: true
|
||||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
@@ -746,13 +751,11 @@ jobs:
|
|||||||
- name: Append agent step summary
|
- name: Append agent step summary
|
||||||
if: always()
|
if: always()
|
||||||
run: bash /opt/gh-aw/actions/append_agent_step_summary.sh
|
run: bash /opt/gh-aw/actions/append_agent_step_summary.sh
|
||||||
- name: Upload Safe Outputs
|
- name: Copy Safe Outputs
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
run: |
|
||||||
with:
|
mkdir -p /tmp/gh-aw
|
||||||
name: safe-output
|
cp "$GH_AW_SAFE_OUTPUTS" /tmp/gh-aw/safeoutputs.jsonl 2>/dev/null || true
|
||||||
path: ${{ env.GH_AW_SAFE_OUTPUTS }}
|
|
||||||
if-no-files-found: warn
|
|
||||||
- name: Ingest agent output
|
- name: Ingest agent output
|
||||||
id: collect_output
|
id: collect_output
|
||||||
if: always()
|
if: always()
|
||||||
@@ -768,21 +771,6 @@ jobs:
|
|||||||
setupGlobals(core, github, context, exec, io);
|
setupGlobals(core, github, context, exec, io);
|
||||||
const { main } = require('/opt/gh-aw/actions/collect_ndjson_output.cjs');
|
const { main } = require('/opt/gh-aw/actions/collect_ndjson_output.cjs');
|
||||||
await main();
|
await main();
|
||||||
- name: Upload sanitized agent output
|
|
||||||
if: always() && env.GH_AW_AGENT_OUTPUT
|
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
|
||||||
with:
|
|
||||||
name: agent-output
|
|
||||||
path: ${{ env.GH_AW_AGENT_OUTPUT }}
|
|
||||||
if-no-files-found: warn
|
|
||||||
- name: Upload engine output files
|
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
|
||||||
with:
|
|
||||||
name: agent_outputs
|
|
||||||
path: |
|
|
||||||
/tmp/gh-aw/sandbox/agent/logs/
|
|
||||||
/tmp/gh-aw/redacted-urls.log
|
|
||||||
if-no-files-found: ignore
|
|
||||||
- name: Parse agent logs for step summary
|
- name: Parse agent logs for step summary
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -821,15 +809,19 @@ jobs:
|
|||||||
- name: Upload agent artifacts
|
- name: Upload agent artifacts
|
||||||
if: always()
|
if: always()
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: agent-artifacts
|
name: agent
|
||||||
path: |
|
path: |
|
||||||
/tmp/gh-aw/aw-prompts/prompt.txt
|
/tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
|
/tmp/gh-aw/sandbox/agent/logs/
|
||||||
|
/tmp/gh-aw/redacted-urls.log
|
||||||
/tmp/gh-aw/mcp-logs/
|
/tmp/gh-aw/mcp-logs/
|
||||||
/tmp/gh-aw/sandbox/firewall/logs/
|
/tmp/gh-aw/sandbox/firewall/logs/
|
||||||
/tmp/gh-aw/agent-stdio.log
|
/tmp/gh-aw/agent-stdio.log
|
||||||
/tmp/gh-aw/agent/
|
/tmp/gh-aw/agent/
|
||||||
|
/tmp/gh-aw/safeoutputs.jsonl
|
||||||
|
/tmp/gh-aw/agent_output.json
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
# --- Threat Detection (inline) ---
|
# --- Threat Detection (inline) ---
|
||||||
- name: Check if detection needed
|
- name: Check if detection needed
|
||||||
@@ -897,7 +889,7 @@ jobs:
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
touch /tmp/gh-aw/agent-step-summary.md
|
touch /tmp/gh-aw/agent-step-summary.md
|
||||||
# shellcheck disable=SC1003
|
# shellcheck disable=SC1003
|
||||||
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,github.com,host.docker.internal,raw.githubusercontent.com,registry.npmjs.org,telemetry.enterprise.githubcopilot.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.23.0 --skip-pull --enable-api-proxy \
|
sudo -E awf --env-all --container-workdir "${GITHUB_WORKSPACE}" --allow-domains "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,github.com,host.docker.internal,raw.githubusercontent.com,registry.npmjs.org,telemetry.enterprise.githubcopilot.com" --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --enable-host-access --image-tag 0.24.2 --skip-pull --enable-api-proxy \
|
||||||
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-tool '\''shell(cat)'\'' --allow-tool '\''shell(grep)'\'' --allow-tool '\''shell(head)'\'' --allow-tool '\''shell(jq)'\'' --allow-tool '\''shell(ls)'\'' --allow-tool '\''shell(tail)'\'' --allow-tool '\''shell(wc)'\'' --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
|
-- /bin/bash -c '/usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --add-dir "${GITHUB_WORKSPACE}" --disable-builtin-mcps --allow-tool '\''shell(cat)'\'' --allow-tool '\''shell(grep)'\'' --allow-tool '\''shell(head)'\'' --allow-tool '\''shell(jq)'\'' --allow-tool '\''shell(ls)'\'' --allow-tool '\''shell(tail)'\'' --allow-tool '\''shell(wc)'\'' --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
|
||||||
env:
|
env:
|
||||||
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
COPILOT_AGENT_RUNNER_TYPE: STANDALONE
|
||||||
@@ -905,7 +897,7 @@ jobs:
|
|||||||
COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || '' }}
|
COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || '' }}
|
||||||
GH_AW_PHASE: detection
|
GH_AW_PHASE: detection
|
||||||
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
|
||||||
GH_AW_VERSION: v0.57.2
|
GH_AW_VERSION: v0.59.0
|
||||||
GITHUB_API_URL: ${{ github.api_url }}
|
GITHUB_API_URL: ${{ github.api_url }}
|
||||||
GITHUB_AW: true
|
GITHUB_AW: true
|
||||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
@@ -930,9 +922,9 @@ jobs:
|
|||||||
await main();
|
await main();
|
||||||
- name: Upload threat detection log
|
- name: Upload threat detection log
|
||||||
if: always() && steps.detection_guard.outputs.run_detection == 'true'
|
if: always() && steps.detection_guard.outputs.run_detection == 'true'
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: threat-detection.log
|
name: detection
|
||||||
path: /tmp/gh-aw/threat-detection/detection.log
|
path: /tmp/gh-aw/threat-detection/detection.log
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
- name: Set detection conclusion
|
- name: Set detection conclusion
|
||||||
@@ -975,22 +967,22 @@ jobs:
|
|||||||
total_count: ${{ steps.missing_tool.outputs.total_count }}
|
total_count: ${{ steps.missing_tool.outputs.total_count }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Download agent output artifact
|
- name: Download agent output artifact
|
||||||
id: download-agent-output
|
id: download-agent-output
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: agent-output
|
name: agent
|
||||||
path: /tmp/gh-aw/safeoutputs/
|
path: /tmp/gh-aw/
|
||||||
- name: Setup agent output environment variable
|
- name: Setup agent output environment variable
|
||||||
if: steps.download-agent-output.outcome == 'success'
|
if: steps.download-agent-output.outcome == 'success'
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /tmp/gh-aw/safeoutputs/
|
mkdir -p /tmp/gh-aw/
|
||||||
find "/tmp/gh-aw/safeoutputs/" -type f -print
|
find "/tmp/gh-aw/" -type f -print
|
||||||
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/safeoutputs/agent_output.json" >> "$GITHUB_ENV"
|
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_ENV"
|
||||||
- name: Process No-Op Messages
|
- name: Process No-Op Messages
|
||||||
id: noop
|
id: noop
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -1082,22 +1074,22 @@ jobs:
|
|||||||
process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
|
process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Scripts
|
- name: Setup Scripts
|
||||||
uses: github/gh-aw/actions/setup@32b3a711a9ee97d38e3989c90af0385aff0066a7 # v0.57.2
|
uses: github/gh-aw-actions/setup@066087f607f52664010289ddd52198f33044c38a # v0.59.0
|
||||||
with:
|
with:
|
||||||
destination: /opt/gh-aw/actions
|
destination: /opt/gh-aw/actions
|
||||||
- name: Download agent output artifact
|
- name: Download agent output artifact
|
||||||
id: download-agent-output
|
id: download-agent-output
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||||
with:
|
with:
|
||||||
name: agent-output
|
name: agent
|
||||||
path: /tmp/gh-aw/safeoutputs/
|
path: /tmp/gh-aw/
|
||||||
- name: Setup agent output environment variable
|
- name: Setup agent output environment variable
|
||||||
if: steps.download-agent-output.outcome == 'success'
|
if: steps.download-agent-output.outcome == 'success'
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /tmp/gh-aw/safeoutputs/
|
mkdir -p /tmp/gh-aw/
|
||||||
find "/tmp/gh-aw/safeoutputs/" -type f -print
|
find "/tmp/gh-aw/" -type f -print
|
||||||
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/safeoutputs/agent_output.json" >> "$GITHUB_ENV"
|
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_ENV"
|
||||||
- name: Process Safe Outputs
|
- name: Process Safe Outputs
|
||||||
id: process_safe_outputs
|
id: process_safe_outputs
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||||
@@ -1114,9 +1106,9 @@ jobs:
|
|||||||
setupGlobals(core, github, context, exec, io);
|
setupGlobals(core, github, context, exec, io);
|
||||||
const { main } = require('/opt/gh-aw/actions/safe_output_handler_manager.cjs');
|
const { main } = require('/opt/gh-aw/actions/safe_output_handler_manager.cjs');
|
||||||
await main();
|
await main();
|
||||||
- name: Upload safe output items manifest
|
- name: Upload Safe Output Items Manifest
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: safe-output-items
|
name: safe-output-items
|
||||||
path: /tmp/safe-output-items.jsonl
|
path: /tmp/safe-output-items.jsonl
|
||||||
|
|||||||
Reference in New Issue
Block a user