Skip to content

Commit b499392

Browse files
dbrattliclaude
andcommitted
ci: widen NuGet cache key to cover .props and .targets
Hashing only **/*.fsproj misses version numbers defined outside project files. FSharp.Compiler.Service.fsproj interpolates $(SystemCollectionsImmutableVersion), $(FSharpCoreShippedPackageVersionValue) and six more, which are defined in .props. Bumping one of those changes the resolved package graph without touching any .fsproj, so the cache key would not move. Also resolve the merge with main, keeping setup-node@v7 alongside the new `cache: npm`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 parents 823def3 + d7afa27 commit b499392

433 files changed

Lines changed: 27680 additions & 7004 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.config/dotnet-tools.json

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,36 @@
66
"version": "7.0.5",
77
"commands": [
88
"fantomas"
9-
]
9+
],
10+
"rollForward": false
1011
},
1112
"husky": {
1213
"version": "0.9.1",
1314
"commands": [
1415
"husky"
15-
]
16+
],
17+
"rollForward": false
1618
},
1719
"fsharp-analyzers": {
18-
"version": "0.36.0",
20+
"version": "0.37.2",
1921
"commands": [
2022
"fsharp-analyzers"
21-
]
23+
],
24+
"rollForward": false
25+
},
26+
"easybuild.shipit": {
27+
"version": "3.0.1",
28+
"commands": [
29+
"shipit"
30+
],
31+
"rollForward": false
32+
},
33+
"easybuild.commitlinter": {
34+
"version": "2.0.0",
35+
"commands": [
36+
"commit-linter"
37+
],
38+
"rollForward": false
2239
}
2340
}
2441
}
Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
---
2+
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing
3+
disable-model-invocation: true
4+
---
5+
6+
# GitHub Agentic Workflows Agent
7+
8+
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.
9+
10+
## What This Agent Does
11+
12+
This is a **dispatcher agent** that routes your request to the appropriate specialized prompt based on your task:
13+
14+
- **Creating new workflows**: Routes to `create` prompt
15+
- **Updating existing workflows**: Routes to `update` prompt
16+
- **Debugging workflows**: Routes to `debug` prompt
17+
- **Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
18+
- **Creating report-generating workflows**: Routes to `report` prompt — consult this whenever the workflow posts status updates, audits, analyses, or any structured output as issues, discussions, or comments
19+
- **Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
20+
- **Fixing Dependabot PRs**: Routes to `dependabot` prompt — use this when Dependabot opens PRs that modify generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`). Never merge those PRs directly; instead update the source `.md` files and rerun `gh aw compile --dependabot` to bundle all fixes
21+
- **Analyzing test coverage**: Routes to `test-coverage` prompt — consult this whenever the workflow reads, analyzes, or reports on test coverage data from PRs or CI runs
22+
- **CLI commands and triggering workflows**: Routes to `cli-commands` guide — consult this whenever the user asks how to run, compile, debug, or manage workflows from the command line, or when they need the MCP tool equivalent of a `gh aw` command
23+
24+
Workflows may optionally include:
25+
26+
- **Project tracking / monitoring** (GitHub Projects updates, status reporting)
27+
- **Orchestration / coordination** (one workflow assigning agents or dispatching and coordinating other workflows)
28+
29+
## Files This Applies To
30+
31+
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
32+
- Workflow lock files: `.github/workflows/*.lock.yml`
33+
- Shared components: `.github/workflows/shared/*.md`
34+
- Configuration: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/github-agentic-workflows.md
35+
36+
## Problems This Solves
37+
38+
- **Workflow Creation**: Design secure, validated agentic workflows with proper triggers, tools, and permissions
39+
- **Workflow Debugging**: Analyze logs, identify missing tools, investigate failures, and fix configuration issues
40+
- **Version Upgrades**: Migrate workflows to new gh-aw versions, apply codemods, fix breaking changes
41+
- **Component Design**: Create reusable shared workflow components that wrap MCP servers
42+
43+
## How to Use
44+
45+
When you interact with this agent, it will:
46+
47+
1. **Understand your intent** - Determine what kind of task you're trying to accomplish
48+
2. **Route to the right prompt** - Load the specialized prompt file for your task
49+
3. **Execute the task** - Follow the detailed instructions in the loaded prompt
50+
51+
## Available Prompts
52+
53+
### Create New Workflow
54+
**Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet
55+
56+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/create-agentic-workflow.md
57+
58+
**Use cases**:
59+
- "Create a workflow that triages issues"
60+
- "I need a workflow to label pull requests"
61+
- "Design a weekly research automation"
62+
63+
### Update Existing Workflow
64+
**Load when**: User wants to modify, improve, or refactor an existing workflow
65+
66+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/update-agentic-workflow.md
67+
68+
**Use cases**:
69+
- "Add web-fetch tool to the issue-classifier workflow"
70+
- "Update the PR reviewer to use discussions instead of issues"
71+
- "Improve the prompt for the weekly-research workflow"
72+
73+
### Debug Workflow
74+
**Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors
75+
76+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/debug-agentic-workflow.md
77+
78+
**Use cases**:
79+
- "Why is this workflow failing?"
80+
- "Analyze the logs for workflow X"
81+
- "Investigate missing tool calls in run #12345"
82+
83+
### Upgrade Agentic Workflows
84+
**Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations
85+
86+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/upgrade-agentic-workflows.md
87+
88+
**Use cases**:
89+
- "Upgrade all workflows to the latest version"
90+
- "Fix deprecated fields in workflows"
91+
- "Apply breaking changes from the new release"
92+
93+
### Create a Report-Generating Workflow
94+
**Load when**: The workflow being created or updated produces reports — recurring status updates, audit summaries, analyses, or any structured output posted as a GitHub issue, discussion, or comment
95+
96+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/report.md
97+
98+
**Use cases**:
99+
- "Create a weekly CI health report"
100+
- "Post a daily security audit to Discussions"
101+
- "Add a status update comment to open PRs"
102+
103+
### Create Shared Agentic Workflow
104+
**Load when**: User wants to create a reusable workflow component or wrap an MCP server
105+
106+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/create-shared-agentic-workflow.md
107+
108+
**Use cases**:
109+
- "Create a shared component for Notion integration"
110+
- "Wrap the Slack MCP server as a reusable component"
111+
- "Design a shared workflow for database queries"
112+
113+
### Fix Dependabot PRs
114+
**Load when**: User needs to close or fix open Dependabot PRs that update dependencies in generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`)
115+
116+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/dependabot.md
117+
118+
**Use cases**:
119+
- "Fix the open Dependabot PRs for npm dependencies"
120+
- "Bundle and close the Dependabot PRs for workflow dependencies"
121+
- "Update @playwright/test to fix the Dependabot PR"
122+
123+
### Analyze Test Coverage
124+
**Load when**: The workflow reads, analyzes, or reports test coverage — whether triggered by a PR, a schedule, or a slash command. Always consult this prompt before designing the coverage data strategy.
125+
126+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/test-coverage.md
127+
128+
**Use cases**:
129+
- "Create a workflow that comments coverage on PRs"
130+
- "Analyze coverage trends over time"
131+
- "Add a coverage gate that blocks PRs below a threshold"
132+
133+
### CLI Commands Reference
134+
**Load when**: The user asks how to run, compile, debug, or manage workflows from the command line; needs the MCP tool equivalent of a `gh aw` command; or is in a restricted environment (e.g., Copilot Cloud) without direct CLI access.
135+
136+
**Reference file**: https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/cli-commands.md
137+
138+
**Use cases**:
139+
- "How do I trigger workflow X on the main branch?"
140+
- "What's the MCP equivalent of `gh aw logs`?"
141+
- "I'm in Copilot Cloud — how do I compile a workflow?"
142+
- "Show me all available gh aw commands"
143+
144+
## Instructions
145+
146+
When a user interacts with you:
147+
148+
1. **Identify the task type** from the user's request
149+
2. **Load the appropriate prompt** from the GitHub repository URLs listed above
150+
3. **Follow the loaded prompt's instructions** exactly
151+
4. **If uncertain**, ask clarifying questions to determine the right prompt
152+
153+
## Quick Reference
154+
155+
```bash
156+
# Initialize repository for agentic workflows
157+
gh aw init
158+
159+
# Generate the lock file for a workflow
160+
gh aw compile [workflow-name]
161+
162+
# Trigger a workflow on demand (preferred over gh workflow run)
163+
gh aw run <workflow-name> # interactive input collection
164+
gh aw run <workflow-name> --ref main # run on a specific branch
165+
166+
# Debug workflow runs
167+
gh aw logs [workflow-name]
168+
gh aw audit <run-id>
169+
170+
# Upgrade workflows
171+
gh aw fix --write
172+
gh aw compile --validate
173+
```
174+
175+
## Key Features of gh-aw
176+
177+
- **Natural Language Workflows**: Write workflows in markdown with YAML frontmatter
178+
- **AI Engine Support**: Copilot, Claude, Codex, or custom engines
179+
- **MCP Server Integration**: Connect to Model Context Protocol servers for tools
180+
- **Safe Outputs**: Structured communication between AI and GitHub API
181+
- **Strict Mode**: Security-first validation and sandboxing
182+
- **Shared Components**: Reusable workflow building blocks
183+
- **Repo Memory**: Persistent git-backed storage for agents
184+
- **Sandboxed Execution**: All workflows run in the Agent Workflow Firewall (AWF) sandbox, enabling full `bash` and `edit` tools by default
185+
186+
## Important Notes
187+
188+
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/github-agentic-workflows.md for complete documentation
189+
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
190+
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
191+
- **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
192+
- Follow security best practices: minimal permissions, explicit network access, no template injection
193+
- **Network configuration**: Use ecosystem identifiers (`node`, `python`, `go`, etc.) or explicit FQDNs in `network.allowed`. Bare shorthands like `npm` or `pypi` are **not** valid. See https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/network.md for the full list of valid ecosystem identifiers and domain patterns.
194+
- **Single-file output**: When creating a workflow, produce exactly **one** workflow `.md` file. Do not create separate documentation files (architecture docs, runbooks, usage guides, etc.). If documentation is needed, add a brief `## Usage` section inside the workflow file itself.
195+
- **Triggering runs**: Always use `gh aw run <workflow-name>` to trigger a workflow on demand — not `gh workflow run <file>.lock.yml`. `gh aw run` handles workflow resolution by short name, input parsing and validation, and correct run-tracking for agentic workflows. Use `--ref <branch>` to run on a specific branch.
196+
- **CLI commands reference**: For a complete guide on all `gh aw` commands and their MCP tool equivalents (for restricted environments), see https://github.com/github/gh-aw/blob/v0.71.5/.github/aw/cli-commands.md

.github/aw/actions-lock.json

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,51 @@
11
{
22
"entries": {
3-
"actions/github-script@v8": {
3+
"actions/github-script@v9.0.0": {
44
"repo": "actions/github-script",
5-
"version": "v8",
6-
"sha": "ed597411d8f924073f98dfc5c65a23a2325f34cd"
5+
"version": "v9.0.0",
6+
"sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
77
},
8-
"github/gh-aw-actions/setup@v0.62.5": {
8+
"github/gh-aw-actions/setup@v0.71.5": {
99
"repo": "github/gh-aw-actions/setup",
10-
"version": "v0.62.5",
11-
"sha": "dc50be57c94373431b49d3d0927f318ac2bb5c4c"
10+
"version": "v0.71.5",
11+
"sha": "b8068426813005612b960b5ab0b8bd2c27142323"
1212
},
13-
"github/gh-aw-actions/setup@v0.66.1": {
14-
"repo": "github/gh-aw-actions/setup",
15-
"version": "v0.66.1",
16-
"sha": "73ae9ce231580f337133352d321d42b6bf54b6a9"
13+
"github/gh-aw/actions/setup@v0.71.5": {
14+
"repo": "github/gh-aw/actions/setup",
15+
"version": "v0.71.5",
16+
"sha": "19ac811a4a85389c33b15128e1d7b7d4507f814a"
17+
}
18+
},
19+
"containers": {
20+
"ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
21+
"image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
22+
"digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
23+
"pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
1724
},
18-
"github/gh-aw-actions/setup@v0.67.0": {
19-
"repo": "github/gh-aw-actions/setup",
20-
"version": "v0.67.0",
21-
"sha": "cde65c546c2b0f6d3f3a9492a04e6687887c4fe8"
25+
"ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
26+
"image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
27+
"digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
28+
"pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
2229
},
23-
"github/gh-aw/actions/setup@v0.58.1": {
24-
"repo": "github/gh-aw/actions/setup",
25-
"version": "v0.58.1",
26-
"sha": "fa061e89469ef007881d22d3af5a8c9e62363a0d"
30+
"ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
31+
"image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
32+
"digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
33+
"pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
34+
},
35+
"ghcr.io/github/gh-aw-mcpg:v0.2.19": {
36+
"image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
37+
"digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
38+
"pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
39+
},
40+
"ghcr.io/github/github-mcp-server:v0.32.0": {
41+
"image": "ghcr.io/github/github-mcp-server:v0.32.0",
42+
"digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
43+
"pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
44+
},
45+
"node:lts-alpine": {
46+
"image": "node:lts-alpine",
47+
"digest": "sha256:d1b3b4da11eefd5941e7f0b9cf17783fc99d9c6fc34884a665f40a06dbdfc94f",
48+
"pinned_image": "node:lts-alpine@sha256:d1b3b4da11eefd5941e7f0b9cf17783fc99d9c6fc34884a665f40a06dbdfc94f"
2749
}
2850
}
2951
}

0 commit comments

Comments
 (0)