mirror of
https://github.com/github/awesome-copilot.git
synced 2026-08-14 05:06:54 +00:00
Updating to latest agentic workflows (#2556)
* Updating to latest agentic workflows * cleaning up tools and more explicit copilot app checks
This commit is contained in:
@@ -8,6 +8,13 @@ disable-model-invocation: true
|
|||||||
|
|
||||||
This agent helps you work with **GitHub Agentic Workflows (gh-aw)**, a CLI extension for creating AI-powered workflows in natural language using markdown files.
|
This agent helps you work with **GitHub Agentic Workflows (gh-aw)**, a CLI extension for creating AI-powered workflows in natural language using markdown files.
|
||||||
|
|
||||||
|
## Repository Instructions Overlay
|
||||||
|
|
||||||
|
If `.github/aw/instructions.md` exists, load it with:
|
||||||
|
@.github/aw/instructions.md
|
||||||
|
|
||||||
|
Precedence: repository overlay instructions override defaults in this agent when they conflict.
|
||||||
|
|
||||||
## What This Agent Does
|
## What This Agent Does
|
||||||
|
|
||||||
This is a **dispatcher agent** that routes your request to the appropriate specialized prompt based on your task:
|
This is a **dispatcher agent** that routes your request to the appropriate specialized prompt based on your task:
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"entries": {
|
"entries": {
|
||||||
"actions/checkout@v7.0.0": {
|
"actions/checkout@v7.0.1": {
|
||||||
"repo": "actions/checkout",
|
"repo": "actions/checkout",
|
||||||
"version": "v7.0.0",
|
"version": "v7.0.1",
|
||||||
"sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
|
"sha": "3d3c42e5aac5ba805825da76410c181273ba90b1"
|
||||||
},
|
},
|
||||||
"actions/download-artifact@v8.0.1": {
|
"actions/download-artifact@v8.0.1": {
|
||||||
"repo": "actions/download-artifact",
|
"repo": "actions/download-artifact",
|
||||||
@@ -20,15 +20,47 @@
|
|||||||
"version": "v7.0.1",
|
"version": "v7.0.1",
|
||||||
"sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
|
"sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
|
||||||
},
|
},
|
||||||
"github/gh-aw-actions/setup@v0.81.6": {
|
"github/gh-aw-actions/setup-cli@v0.84.3": {
|
||||||
"repo": "github/gh-aw-actions/setup",
|
"repo": "github/gh-aw-actions/setup-cli",
|
||||||
"version": "v0.81.6",
|
"version": "v0.84.3",
|
||||||
"sha": "ba6380cc6e5be5d21677bebe04d52fb48e3abec7"
|
"sha": "c863074b673419603d146aab585e2986ef08deec"
|
||||||
},
|
},
|
||||||
"github/gh-aw/actions/setup@v0.81.6": {
|
"github/gh-aw-actions/setup@v0.84.3": {
|
||||||
"repo": "github/gh-aw/actions/setup",
|
"repo": "github/gh-aw-actions/setup",
|
||||||
"version": "v0.81.6",
|
"version": "v0.84.3",
|
||||||
"sha": "eed4304d8740f0593f2797276cb8299d228ffd9b"
|
"sha": "c863074b673419603d146aab585e2986ef08deec"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"containers": {
|
||||||
|
"ghcr.io/github/gh-aw-firewall/agent:0.27.43": {
|
||||||
|
"image": "ghcr.io/github/gh-aw-firewall/agent:0.27.43",
|
||||||
|
"digest": "sha256:04e2d1987a565000a8f114b89d806ae7a3864dd4f944be65275b28c93d8690e6",
|
||||||
|
"pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.43@sha256:04e2d1987a565000a8f114b89d806ae7a3864dd4f944be65275b28c93d8690e6"
|
||||||
|
},
|
||||||
|
"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.43": {
|
||||||
|
"image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.43",
|
||||||
|
"digest": "sha256:d85f57975af5ea23af4996e41ed73fbc8f5b4a47402472bfe82e508f352cb0c1",
|
||||||
|
"pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.43@sha256:d85f57975af5ea23af4996e41ed73fbc8f5b4a47402472bfe82e508f352cb0c1"
|
||||||
|
},
|
||||||
|
"ghcr.io/github/gh-aw-firewall/squid:0.27.43": {
|
||||||
|
"image": "ghcr.io/github/gh-aw-firewall/squid:0.27.43",
|
||||||
|
"digest": "sha256:26be5e0b8c8f4c41c8a59126b29bb5d80b07253597472ded2a16bdd75abcbf9d",
|
||||||
|
"pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.43@sha256:26be5e0b8c8f4c41c8a59126b29bb5d80b07253597472ded2a16bdd75abcbf9d"
|
||||||
|
},
|
||||||
|
"ghcr.io/github/gh-aw-mcpg:v0.4.7": {
|
||||||
|
"image": "ghcr.io/github/gh-aw-mcpg:v0.4.7",
|
||||||
|
"digest": "sha256:7545220a9aca134b71e51193ee0eaf4c50756ebf8fbd25a63ae7556e62815c00",
|
||||||
|
"pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.4.7@sha256:7545220a9aca134b71e51193ee0eaf4c50756ebf8fbd25a63ae7556e62815c00"
|
||||||
|
},
|
||||||
|
"ghcr.io/github/gh-aw-node": {
|
||||||
|
"image": "ghcr.io/github/gh-aw-node",
|
||||||
|
"digest": "sha256:0d9f1fb5fd6610c0ac1f5194a38e45a8a1e81f8a390d5142d8e4e6f26a4b3196",
|
||||||
|
"pinned_image": "ghcr.io/github/gh-aw-node@sha256:0d9f1fb5fd6610c0ac1f5194a38e45a8a1e81f8a390d5142d8e4e6f26a4b3196"
|
||||||
|
},
|
||||||
|
"ghcr.io/github/github-mcp-server:v1.8.0": {
|
||||||
|
"image": "ghcr.io/github/github-mcp-server:v1.8.0",
|
||||||
|
"digest": "sha256:d5a18c04b92714c309eb46a2305087e91a4dbd80420f6e462656699f95093520",
|
||||||
|
"pinned_image": "ghcr.io/github/github-mcp-server:v1.8.0@sha256:d5a18c04b92714c309eb46a2305087e91a4dbd80420f6e462656699f95093520"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,13 @@ Use this skill when a user asks to design, create, update, debug, or upgrade Git
|
|||||||
|
|
||||||
This skill is a dispatcher: identify the task type, load the matching workflow prompt/skill file, and follow it directly. Keep responses concise and ask a clarifying question if the correct prompt is unclear.
|
This skill is a dispatcher: identify the task type, load the matching workflow prompt/skill file, and follow it directly. Keep responses concise and ask a clarifying question if the correct prompt is unclear.
|
||||||
|
|
||||||
|
Repository overlay (optional):
|
||||||
|
- If `.github/aw/instructions.md` exists, load it with `@.github/aw/instructions.md` after loading the matched prompt/skill.
|
||||||
|
- Precedence: repository overlay instructions override upstream defaults when they conflict.
|
||||||
|
|
||||||
Read only the files you need:
|
Read only the files you need:
|
||||||
Load these files from `github/gh-aw` (they are not available locally).
|
Load these files from `github/gh-aw` (they are not available locally).
|
||||||
|
- `.github/aw/action-container-substitutions.md`
|
||||||
- `.github/aw/agentic-chat.md`
|
- `.github/aw/agentic-chat.md`
|
||||||
- `.github/aw/agentic-workflows-mcp.md`
|
- `.github/aw/agentic-workflows-mcp.md`
|
||||||
- `.github/aw/asciicharts.md`
|
- `.github/aw/asciicharts.md`
|
||||||
@@ -18,27 +23,36 @@ Load these files from `github/gh-aw` (they are not available locally).
|
|||||||
- `.github/aw/charts-trending.md`
|
- `.github/aw/charts-trending.md`
|
||||||
- `.github/aw/charts.md`
|
- `.github/aw/charts.md`
|
||||||
- `.github/aw/cli-commands.md`
|
- `.github/aw/cli-commands.md`
|
||||||
|
- `.github/aw/configure-agentic-engine.md`
|
||||||
- `.github/aw/context.md`
|
- `.github/aw/context.md`
|
||||||
|
- `.github/aw/create-agentic-workflow-trigger-details.md`
|
||||||
- `.github/aw/create-agentic-workflow.md`
|
- `.github/aw/create-agentic-workflow.md`
|
||||||
- `.github/aw/create-shared-agentic-workflow.md`
|
- `.github/aw/create-shared-agentic-workflow.md`
|
||||||
- `.github/aw/debug-agentic-workflow.md`
|
- `.github/aw/debug-agentic-workflow.md`
|
||||||
- `.github/aw/dependabot.md`
|
- `.github/aw/dependabot.md`
|
||||||
- `.github/aw/deployment-status.md`
|
- `.github/aw/deployment-status.md`
|
||||||
|
- `.github/aw/designer.md`
|
||||||
|
- `.github/aw/evals.md`
|
||||||
- `.github/aw/experiments.md`
|
- `.github/aw/experiments.md`
|
||||||
- `.github/aw/github-agentic-workflows.md`
|
- `.github/aw/github-agentic-workflows.md`
|
||||||
|
- `.github/aw/github-mcp-server-pagination.md`
|
||||||
- `.github/aw/github-mcp-server.md`
|
- `.github/aw/github-mcp-server.md`
|
||||||
- `.github/aw/instructions.md`
|
- `.github/aw/instructions.md`
|
||||||
|
- `.github/aw/linter-workflows.md`
|
||||||
- `.github/aw/llms.md`
|
- `.github/aw/llms.md`
|
||||||
- `.github/aw/loop.md`
|
- `.github/aw/loop.md`
|
||||||
- `.github/aw/lsp.md`
|
- `.github/aw/lsp.md`
|
||||||
|
- `.github/aw/maintainer.md`
|
||||||
- `.github/aw/mcp-clis.md`
|
- `.github/aw/mcp-clis.md`
|
||||||
- `.github/aw/memory-stateful-patterns.md`
|
- `.github/aw/memory-stateful-patterns.md`
|
||||||
- `.github/aw/memory.md`
|
- `.github/aw/memory.md`
|
||||||
- `.github/aw/messages.md`
|
- `.github/aw/messages.md`
|
||||||
|
- `.github/aw/multi-agent-research.md`
|
||||||
- `.github/aw/network.md`
|
- `.github/aw/network.md`
|
||||||
- `.github/aw/optimize-agentic-workflow.md`
|
- `.github/aw/optimize-agentic-workflow.md`
|
||||||
- `.github/aw/patterns.md`
|
- `.github/aw/patterns.md`
|
||||||
- `.github/aw/pr-reviewer.md`
|
- `.github/aw/pr-reviewer.md`
|
||||||
|
- `.github/aw/release-workflow.md`
|
||||||
- `.github/aw/report.md`
|
- `.github/aw/report.md`
|
||||||
- `.github/aw/reuse.md`
|
- `.github/aw/reuse.md`
|
||||||
- `.github/aw/safe-outputs-automation.md`
|
- `.github/aw/safe-outputs-automation.md`
|
||||||
@@ -52,10 +66,13 @@ Load these files from `github/gh-aw` (they are not available locally).
|
|||||||
- `.github/aw/subagents.md`
|
- `.github/aw/subagents.md`
|
||||||
- `.github/aw/syntax-agentic.md`
|
- `.github/aw/syntax-agentic.md`
|
||||||
- `.github/aw/syntax-core.md`
|
- `.github/aw/syntax-core.md`
|
||||||
|
- `.github/aw/syntax-engine.md`
|
||||||
- `.github/aw/syntax-tools-imports.md`
|
- `.github/aw/syntax-tools-imports.md`
|
||||||
- `.github/aw/syntax.md`
|
- `.github/aw/syntax.md`
|
||||||
- `.github/aw/test-coverage.md`
|
- `.github/aw/test-coverage.md`
|
||||||
- `.github/aw/test-expression.md`
|
- `.github/aw/test-expression.md`
|
||||||
|
- `.github/aw/token-optimization-caching-budgets.md`
|
||||||
|
- `.github/aw/token-optimization-observability.md`
|
||||||
- `.github/aw/token-optimization.md`
|
- `.github/aw/token-optimization.md`
|
||||||
- `.github/aw/triggers.md`
|
- `.github/aw/triggers.md`
|
||||||
- `.github/aw/update-agentic-workflow.md`
|
- `.github/aw/update-agentic-workflow.md`
|
||||||
@@ -65,10 +82,10 @@ Load these files from `github/gh-aw` (they are not available locally).
|
|||||||
- `.github/aw/workflow-editing.md`
|
- `.github/aw/workflow-editing.md`
|
||||||
- `.github/aw/workflow-patterns.md`
|
- `.github/aw/workflow-patterns.md`
|
||||||
|
|
||||||
- `.github/skills/agentic-workflow-designer/SKILL.md`
|
|
||||||
After loading the matching workflow prompt or skill, follow it directly:
|
After loading the matching workflow prompt or skill, follow it directly:
|
||||||
- Design workflows from scratch via interview: `skills/agentic-workflow-designer/SKILL.md`
|
- Design workflows from scratch via interview: `.github/aw/designer.md`
|
||||||
- Create new workflows: `.github/aw/create-agentic-workflow.md`
|
- Create new workflows: `.github/aw/create-agentic-workflow.md`
|
||||||
|
- Configure or add declarative engines: `.github/aw/configure-agentic-engine.md`
|
||||||
- Update existing workflows: `.github/aw/update-agentic-workflow.md`
|
- Update existing workflows: `.github/aw/update-agentic-workflow.md`
|
||||||
- Debug, audit, or investigate workflows: `.github/aw/debug-agentic-workflow.md`
|
- Debug, audit, or investigate workflows: `.github/aw/debug-agentic-workflow.md`
|
||||||
- Upgrade workflows and fix deprecations: `.github/aw/upgrade-agentic-workflows.md`
|
- Upgrade workflows and fix deprecations: `.github/aw/upgrade-agentic-workflows.md`
|
||||||
@@ -80,5 +97,6 @@ After loading the matching workflow prompt or skill, follow it directly:
|
|||||||
- Map CLI commands to MCP usage: `.github/aw/cli-commands.md`
|
- Map CLI commands to MCP usage: `.github/aw/cli-commands.md`
|
||||||
- Choose workflow architecture and patterns: `.github/aw/patterns.md`
|
- Choose workflow architecture and patterns: `.github/aw/patterns.md`
|
||||||
- Optimize token usage and cost: `.github/aw/token-optimization.md`
|
- Optimize token usage and cost: `.github/aw/token-optimization.md`
|
||||||
|
- Design long-running multi-agent research workflows: `.github/aw/multi-agent-research.md`
|
||||||
|
|
||||||
When the task involves OTEL, OTLP, traces, observability backends, or telemetry-driven analysis, also read and follow `skills/otel-queries/SKILL.md` after loading the matching workflow prompt or skill.
|
When the task involves OTEL, OTLP, traces, observability backends, or telemetry-driven analysis, also read and follow `skills/otel-queries/SKILL.md` after loading the matching workflow prompt or skill.
|
||||||
|
|||||||
@@ -0,0 +1,633 @@
|
|||||||
|
# This file was automatically generated by pkg/workflow/maintenance_workflow.go (v0.84.3). DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
|
||||||
|
#
|
||||||
|
# ___ _ _
|
||||||
|
# / _ \ | | (_)
|
||||||
|
# | |_| | __ _ ___ _ __ | |_ _ ___
|
||||||
|
# | _ |/ _` |/ _ \ '_ \| __| |/ __|
|
||||||
|
# | | | | (_| | __/ | | | |_| | (__
|
||||||
|
# \_| |_/\__, |\___|_| |_|\__|_|\___|
|
||||||
|
# __/ |
|
||||||
|
# _ _ |___/
|
||||||
|
# | | | | / _| |
|
||||||
|
# | | | | ___ _ __ _ __| |_| | _____ ____
|
||||||
|
# | |/\| |/ _ \ '__| |/ /| _| |/ _ \ \ /\ / / ___|
|
||||||
|
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
|
||||||
|
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# To regenerate this workflow, run:
|
||||||
|
# gh aw compile
|
||||||
|
# Not all edits will cause changes to this file.
|
||||||
|
#
|
||||||
|
# For more information: https://github.github.com/gh-aw/introduction/overview/
|
||||||
|
#
|
||||||
|
# This file defines the generated agentic maintenance workflow for this repository.
|
||||||
|
# It runs scheduled cleanup for expiring safe outputs and supports manual maintenance operations.
|
||||||
|
#
|
||||||
|
# This workflow is generated automatically when workflows use expiring safe outputs
|
||||||
|
# or when repository maintenance features are enabled in .github/workflows/aw.json.
|
||||||
|
#
|
||||||
|
# To disable maintenance workflow generation, set in .github/workflows/aw.json:
|
||||||
|
# {"maintenance": false}
|
||||||
|
#
|
||||||
|
# Agentic maintenance docs:
|
||||||
|
# https://github.github.com/gh-aw/reference/ephemerals/#manual-maintenance-operations
|
||||||
|
#
|
||||||
|
name: Agentic Maintenance
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "37 0 * * *" # Daily (based on minimum expires: 30 days)
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
operation:
|
||||||
|
description: 'Optional maintenance operation to run'
|
||||||
|
required: false
|
||||||
|
type: choice
|
||||||
|
default: ''
|
||||||
|
options:
|
||||||
|
- ''
|
||||||
|
- 'disable'
|
||||||
|
- 'enable'
|
||||||
|
- 'update'
|
||||||
|
- 'upgrade'
|
||||||
|
- 'safe_outputs'
|
||||||
|
- 'create_labels'
|
||||||
|
- 'activity_report'
|
||||||
|
- 'close_agentic_workflows_issues'
|
||||||
|
- 'clean_cache_memories'
|
||||||
|
- 'update_pull_request_branches'
|
||||||
|
- 'validate'
|
||||||
|
- 'forecast'
|
||||||
|
run_url:
|
||||||
|
description: 'Run URL or run ID to replay safe outputs from (e.g. https://github.com/owner/repo/actions/runs/12345 or 12345). Required when operation is safe_outputs.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
operation:
|
||||||
|
description: 'Optional maintenance operation to run (disable, enable, update, upgrade, safe_outputs, create_labels, activity_report, close_agentic_workflows_issues, clean_cache_memories, update_pull_request_branches, validate, forecast)'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
run_url:
|
||||||
|
description: 'Run URL or run ID to replay safe outputs from (e.g. https://github.com/owner/repo/actions/runs/12345 or 12345). Required when operation is safe_outputs.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
outputs:
|
||||||
|
operation_completed:
|
||||||
|
description: 'The maintenance operation that was completed (empty when none ran or a scheduled job ran)'
|
||||||
|
value: ${{ jobs.run_operation.outputs.operation || inputs.operation }}
|
||||||
|
applied_run_url:
|
||||||
|
description: 'The run URL that safe outputs were applied from'
|
||||||
|
value: ${{ jobs.apply_safe_outputs.outputs.run_url }}
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
close-expired-discussions:
|
||||||
|
if: ${{ (!(github.event.repository.fork)) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '') }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
discussions: write
|
||||||
|
steps:
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Close expired discussions
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/close_expired_discussions.cjs');
|
||||||
|
await main();
|
||||||
|
close-expired-issues:
|
||||||
|
if: ${{ (!(github.event.repository.fork)) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '') }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
steps:
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Close expired issues
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/close_expired_issues.cjs');
|
||||||
|
await main();
|
||||||
|
close-expired-pull-requests:
|
||||||
|
if: ${{ (!(github.event.repository.fork)) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '') }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Close expired pull requests
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/close_expired_pull_requests.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
cleanup-cache-memory:
|
||||||
|
if: ${{ (!(github.event.repository.fork)) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '' || inputs.operation == 'clean_cache_memories') }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
steps:
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Cleanup outdated cache-memory entries
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/cleanup_cache_memory.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
run_operation:
|
||||||
|
if: ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') && inputs.operation != '' && inputs.operation != 'safe_outputs' && inputs.operation != 'create_labels' && inputs.operation != 'activity_report' && inputs.operation != 'close_agentic_workflows_issues' && inputs.operation != 'clean_cache_memories' && inputs.operation != 'update_pull_request_branches' && inputs.operation != 'validate' && inputs.operation != 'forecast' && (!(github.event.repository.fork)) }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
outputs:
|
||||||
|
operation: ${{ steps.record.outputs.operation }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Check admin/maintainer permissions
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/check_team_member.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Install gh-aw
|
||||||
|
uses: github/gh-aw-actions/setup-cli@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
version: v0.84.3
|
||||||
|
|
||||||
|
- name: Run operation
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GH_AW_OPERATION: ${{ inputs.operation }}
|
||||||
|
GH_AW_CMD_PREFIX: gh aw
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/run_operation_update_upgrade.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Record outputs
|
||||||
|
id: record
|
||||||
|
env:
|
||||||
|
GH_AW_OPERATION: ${{ inputs.operation }}
|
||||||
|
run: echo "operation=$GH_AW_OPERATION" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
|
update_pull_request_branches:
|
||||||
|
if: ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') && inputs.operation == 'update_pull_request_branches' && (!(github.event.repository.fork)) }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Check admin/maintainer permissions
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/check_team_member.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Update pull request branches
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/update_pull_request_branches.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
apply_safe_outputs:
|
||||||
|
if: ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') && inputs.operation == 'safe_outputs' && (!(github.event.repository.fork)) }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
contents: write
|
||||||
|
discussions: write
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
outputs:
|
||||||
|
run_url: ${{ steps.record.outputs.run_url }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout actions folder
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
sparse-checkout: |
|
||||||
|
actions
|
||||||
|
clean: false
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Check admin/maintainer permissions
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/check_team_member.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Apply Safe Outputs
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GH_AW_RUN_URL: ${{ inputs.run_url }}
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/apply_safe_outputs_replay.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Record outputs
|
||||||
|
id: record
|
||||||
|
env:
|
||||||
|
GH_AW_RUN_URL: ${{ inputs.run_url }}
|
||||||
|
run: echo "run_url=$GH_AW_RUN_URL" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
|
create_labels:
|
||||||
|
if: ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') && inputs.operation == 'create_labels' && (!(github.event.repository.fork)) }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
issues: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Check admin/maintainer permissions
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/check_team_member.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Install gh-aw
|
||||||
|
uses: github/gh-aw-actions/setup-cli@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
version: v0.84.3
|
||||||
|
|
||||||
|
- name: Create missing labels
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
env:
|
||||||
|
GH_AW_CMD_PREFIX: gh aw
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/create_labels.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
activity_report:
|
||||||
|
if: ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') && inputs.operation == 'activity_report' && (!(github.event.repository.fork)) }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
timeout-minutes: 120
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
contents: read
|
||||||
|
issues: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Check admin/maintainer permissions
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/check_team_member.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Install gh-aw
|
||||||
|
uses: github/gh-aw-actions/setup-cli@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
version: v0.84.3
|
||||||
|
|
||||||
|
- name: Restore activity report logs cache
|
||||||
|
id: activity_report_logs_cache
|
||||||
|
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||||
|
with:
|
||||||
|
path: ./.cache/gh-aw/activity-report-logs
|
||||||
|
key: ${{ runner.os }}-activity-report-logs-${{ github.repository }}-${{ github.ref_name }}-${{ github.run_id }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-activity-report-logs-${{ github.repository }}-
|
||||||
|
${{ runner.os }}-activity-report-logs-
|
||||||
|
- name: Download activity report logs
|
||||||
|
timeout-minutes: 20
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GH_AW_CMD_PREFIX: gh aw
|
||||||
|
run: |
|
||||||
|
${GH_AW_CMD_PREFIX} logs \
|
||||||
|
--repo "$GITHUB_REPOSITORY" \
|
||||||
|
--start-date -1w \
|
||||||
|
--count 500 \
|
||||||
|
--output ./.cache/gh-aw/activity-report-logs \
|
||||||
|
--format markdown \
|
||||||
|
--report-file ./.cache/gh-aw/activity-report-logs/report.md
|
||||||
|
|
||||||
|
- name: Save activity report logs cache
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||||
|
with:
|
||||||
|
path: ./.cache/gh-aw/activity-report-logs
|
||||||
|
key: ${{ steps.activity_report_logs_cache.outputs.cache-primary-key }}
|
||||||
|
|
||||||
|
- name: Generate activity report issue
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const fs = require('node:fs');
|
||||||
|
const reportPath = './.cache/gh-aw/activity-report-logs/report.md';
|
||||||
|
if (!fs.existsSync(reportPath)) {
|
||||||
|
core.warning('Activity report markdown not found at ' + reportPath + '; skipping issue creation.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let reportBody = '';
|
||||||
|
try {
|
||||||
|
reportBody = fs.readFileSync(reportPath, 'utf8').trim();
|
||||||
|
} catch (error) {
|
||||||
|
core.warning('Failed to read activity report markdown at ' + reportPath + ': ' + error.message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!reportBody) {
|
||||||
|
core.warning('Activity report markdown is empty at ' + reportPath + '; skipping issue creation.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const repoSlug = context.repo.owner + '/' + context.repo.repo;
|
||||||
|
const body = [
|
||||||
|
'### Agentic workflow activity report',
|
||||||
|
'',
|
||||||
|
'Repository: ' + repoSlug,
|
||||||
|
'Generated at: ' + new Date().toISOString(),
|
||||||
|
'',
|
||||||
|
reportBody,
|
||||||
|
].join('\n');
|
||||||
|
const createdIssue = await github.rest.issues.create({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
title: '[aw] agentic status report',
|
||||||
|
body,
|
||||||
|
labels: ['agentic-workflows'],
|
||||||
|
});
|
||||||
|
core.info('Created issue #' + createdIssue.data.number + ': ' + createdIssue.data.html_url);
|
||||||
|
|
||||||
|
forecast_report:
|
||||||
|
if: ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') && inputs.operation == 'forecast' && (!(github.event.repository.fork)) }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
timeout-minutes: 60
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
contents: read
|
||||||
|
issues: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Check admin/maintainer permissions
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/check_team_member.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Install gh-aw
|
||||||
|
uses: github/gh-aw-actions/setup-cli@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
version: v0.84.3
|
||||||
|
|
||||||
|
- name: Restore forecast report logs cache
|
||||||
|
id: forecast_report_logs_cache
|
||||||
|
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||||
|
with:
|
||||||
|
path: ./.github/aw/logs
|
||||||
|
key: ${{ runner.os }}-forecast-report-logs-${{ github.repository }}-${{ github.ref_name }}-${{ github.run_id }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-forecast-report-logs-${{ github.repository }}-
|
||||||
|
${{ runner.os }}-forecast-report-logs-
|
||||||
|
|
||||||
|
- name: Generate forecast report
|
||||||
|
id: generate_forecast_report
|
||||||
|
timeout-minutes: 30
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
DEBUG: "*"
|
||||||
|
GH_AW_CMD_PREFIX: gh aw
|
||||||
|
run: |
|
||||||
|
mkdir -p ./.cache/gh-aw/forecast
|
||||||
|
set +e
|
||||||
|
${GH_AW_CMD_PREFIX} forecast --repo "$GITHUB_REPOSITORY" --timeout 30 --verbose --json > ./.cache/gh-aw/forecast/report.json
|
||||||
|
forecast_exit_code=$?
|
||||||
|
set -e
|
||||||
|
if [ "${forecast_exit_code}" -eq 124 ]; then
|
||||||
|
echo '{"outcome":"timeout","message":"Forecast computation timed out after 30 minutes."}' > ./.cache/gh-aw/forecast/error.json
|
||||||
|
echo "::error::Forecast computation timed out after 30 minutes."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "${forecast_exit_code}" -ne 0 ]; then
|
||||||
|
echo '{"outcome":"error","message":"Forecast computation failed before producing a report."}' > ./.cache/gh-aw/forecast/error.json
|
||||||
|
echo "::error::Forecast computation failed with exit code ${forecast_exit_code}."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Debug forecast logs folder
|
||||||
|
if: ${{ always() }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if [ ! -d ./.github/aw/logs ]; then
|
||||||
|
echo "Logs directory not found: ./.github/aw/logs"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
echo "Files under ./.github/aw/logs:"
|
||||||
|
find ./.github/aw/logs -type f | sort
|
||||||
|
|
||||||
|
- name: Save forecast report logs cache
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||||
|
with:
|
||||||
|
path: ./.github/aw/logs
|
||||||
|
key: ${{ runner.os }}-forecast-report-logs-${{ github.repository }}-${{ github.ref_name }}-${{ github.run_id }}
|
||||||
|
|
||||||
|
- name: Generate forecast issue
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
env:
|
||||||
|
FORECAST_STEP_OUTCOME: ${{ steps.generate_forecast_report.outcome }}
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/create_forecast_issue.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
close_agentic_workflows_issues:
|
||||||
|
if: ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') && inputs.operation == 'close_agentic_workflows_issues' && (!(github.event.repository.fork)) }}
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
steps:
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Check admin/maintainer permissions
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/check_team_member.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Close no-repro agentic-workflows issues
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/close_agentic_workflows_issues.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
validate_workflows:
|
||||||
|
if: ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') && inputs.operation == 'validate' && (!(github.event.repository.fork)) }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
issues: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Setup Scripts
|
||||||
|
uses: github/gh-aw-actions/setup@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
destination: ${{ runner.temp }}/gh-aw/actions
|
||||||
|
|
||||||
|
- name: Check admin/maintainer permissions
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/check_team_member.cjs');
|
||||||
|
await main();
|
||||||
|
|
||||||
|
- name: Install gh-aw
|
||||||
|
uses: github/gh-aw-actions/setup-cli@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
|
with:
|
||||||
|
version: v0.84.3
|
||||||
|
|
||||||
|
- name: Validate workflows and file issue on findings
|
||||||
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||||
|
env:
|
||||||
|
GH_AW_CMD_PREFIX: gh aw
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
|
||||||
|
setupGlobals(core, github, context, exec, io, getOctokit);
|
||||||
|
const { main } = require('${{ runner.temp }}/gh-aw/actions/run_validate_workflows.cjs');
|
||||||
|
await main();
|
||||||
+142
-141
File diff suppressed because one or more lines are too long
+139
-138
File diff suppressed because one or more lines are too long
@@ -21,6 +21,6 @@ jobs:
|
|||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
- name: Install gh-aw extension
|
- name: Install gh-aw extension
|
||||||
uses: github/gh-aw-actions/setup-cli@ba6380cc6e5be5d21677bebe04d52fb48e3abec7 # v0.81.6
|
uses: github/gh-aw-actions/setup-cli@c863074b673419603d146aab585e2986ef08deec # v0.84.3
|
||||||
with:
|
with:
|
||||||
version: v0.81.6
|
version: v0.84.3
|
||||||
|
|||||||
+146
-150
File diff suppressed because one or more lines are too long
@@ -5,6 +5,7 @@ on:
|
|||||||
schedule: weekly
|
schedule: weekly
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
copilot-requests: write
|
||||||
tools:
|
tools:
|
||||||
github:
|
github:
|
||||||
toolsets: [repos]
|
toolsets: [repos]
|
||||||
|
|||||||
+134
-136
File diff suppressed because one or more lines are too long
+135
-163
File diff suppressed because one or more lines are too long
@@ -8,13 +8,13 @@ permissions:
|
|||||||
contents: read
|
contents: read
|
||||||
copilot-requests: write
|
copilot-requests: write
|
||||||
tools:
|
tools:
|
||||||
bash: ["curl", "gh"]
|
|
||||||
edit:
|
edit:
|
||||||
web-fetch:
|
web-fetch:
|
||||||
github:
|
github:
|
||||||
toolsets: [repos]
|
toolsets: [repos]
|
||||||
safe-outputs:
|
safe-outputs:
|
||||||
allowed-domains:
|
allowed-domains:
|
||||||
|
- github.com
|
||||||
- github.blog
|
- github.blog
|
||||||
- code.visualstudio.com
|
- code.visualstudio.com
|
||||||
- nishanil.github.io
|
- nishanil.github.io
|
||||||
@@ -34,11 +34,12 @@ Use `web-fetch` to read the following pages and extract the latest entries from
|
|||||||
|
|
||||||
- https://github.blog/changelog/label/copilot/ — official changelog
|
- https://github.blog/changelog/label/copilot/ — official changelog
|
||||||
- https://github.com/github/copilot-cli/blob/main/changelog.md — CLI changelog
|
- https://github.com/github/copilot-cli/blob/main/changelog.md — CLI changelog
|
||||||
|
- https://github.com/github/github-app/blob/main/changelog/changelog.md — GitHub Copilot app changelog
|
||||||
- https://github.blog/ai-and-ml/github-copilot/ — blog posts
|
- 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://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)
|
- 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.
|
Also use GitHub tooling to check the latest releases and commits in the `github/copilot-cli` and `github/github-app` repos.
|
||||||
|
|
||||||
Look for:
|
Look for:
|
||||||
|
|
||||||
|
|||||||
+136
-158
File diff suppressed because one or more lines are too long
+134
-136
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user