Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,29 @@ Quick reference:
- `make test` - Full test suite (~30s)
- `make agent-finish` - Complete validation before committing

### Compiling against a different actions repository

When working on changes that span both `github/gh-aw` and `github/gh-aw-actions`, you can compile workflows against a fork or branch of the actions repository:

```bash
# Compile against a fork with a specific branch
./gh-aw compile --action-mode action \
--actions-repo myorg/my-aw-actions \
--action-tag my-feature-branch \
.github/workflows/my-workflow.md

# Compile with a specific tag or SHA
./gh-aw compile --action-mode action \
--action-tag abc123def456 \
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The example uses a short commit SHA (abc123def456) for --action-tag. GitHub Actions refs generally require a full 40-character commit SHA. Updating the example to a full SHA (or a tag like vX.Y.Z) will make the docs copy/paste-safe.

Suggested change
--action-tag abc123def456 \
--action-tag 0123456789abcdef0123456789abcdef01234567 \

Copilot uses AI. Check for mistakes.
.github/workflows/my-workflow.md
```

- `--action-mode action` — Required with `--actions-repo`. References actions as GitHub Actions from an external repository instead of inlining scripts locally.
- `--actions-repo <owner/repo>` — Override the default `github/gh-aw-actions` repository.
- `--action-tag <tag-or-sha>` — Pin action references to a specific tag, branch, or commit SHA.

Use these flags when testing workflow behavior against a branch in `github/gh-aw-actions` before a release is cut.

## 🚫 Spam Prevention

**Be nice, don't spam.** The project maintainers reserve the right to clean up spam, unsolicited promotions, or off-topic content as needed to keep discussions focused and valuable for all contributors.
Expand Down
24 changes: 24 additions & 0 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,30 @@ make golint-incremental BASE_REF=origin/main # 50-75% faster on PRs
```
**When to use**: Testing individual workflow compilation.

#### Compile against a different actions repository

When developing changes to `github/gh-aw-actions`, compile workflows against your fork or branch before the changes are released:

```bash
# Compile against a fork with a specific branch or SHA
./gh-aw compile --action-mode action \
--actions-repo myorg/my-aw-actions \
--action-tag my-feature-branch \
.github/workflows/my-workflow.md

# Compile against the default repo pinned to a specific SHA
./gh-aw compile --action-mode action \
--action-tag abc123def456 \
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The example uses --action-tag abc123def456, but GitHub Actions refs require a full 40-character commit SHA (short SHAs are not supported reliably). Consider using a full-length SHA in the example (or a tag like vX.Y.Z) to avoid copy/paste failures.

Suggested change
--action-tag abc123def456 \
--action-tag 0123456789abcdef0123456789abcdef01234567 \

Copilot uses AI. Check for mistakes.
.github/workflows/my-workflow.md
```

Flags:
- `--action-mode action` — Required when using `--actions-repo`. References actions as GitHub Actions from the external repository instead of inlining scripts locally.
- `--actions-repo <owner/repo>` — Override the default `github/gh-aw-actions` repository (e.g., a personal fork).
- `--action-tag <tag-or-sha>` — Pin action references to a specific tag, branch, or commit SHA.

**When to use**: Validating workflow compilation against a feature branch in `github/gh-aw-actions` before a release.

#### Watch and auto-compile workflows on changes
```bash
make watch # Or: ./gh-aw compile --watch
Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/agent-factory-status.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn,
| [Organization Health Report](https://github.com/github/gh-aw/blob/main/.github/workflows/org-health-report.md) | copilot | [![Organization Health Report](https://github.com/github/gh-aw/actions/workflows/org-health-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/org-health-report.lock.yml) | - | - |
| [Plan Command](https://github.com/github/gh-aw/blob/main/.github/workflows/plan.md) | copilot | [![Plan Command](https://github.com/github/gh-aw/actions/workflows/plan.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/plan.lock.yml) | - | `/plan` |
| [Poem Bot - A Creative Agentic Workflow](https://github.com/github/gh-aw/blob/main/.github/workflows/poem-bot.md) | copilot | [![Poem Bot - A Creative Agentic Workflow](https://github.com/github/gh-aw/actions/workflows/poem-bot.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/poem-bot.lock.yml) | - | `/poem` |
| [PR Nitpick Reviewer 🔍](https://github.com/github/gh-aw/blob/main/.github/workflows/pr-nitpick-reviewer.md) | copilot | [![PR Nitpick Reviewer 🔍](https://github.com/github/gh-aw/actions/workflows/pr-nitpick-reviewer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/pr-nitpick-reviewer.lock.yml) | - | - |
| [PR Nitpick Reviewer 🔍](https://github.com/github/gh-aw/blob/main/.github/workflows/pr-nitpick-reviewer.md) | copilot | [![PR Nitpick Reviewer 🔍](https://github.com/github/gh-aw/actions/workflows/pr-nitpick-reviewer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/pr-nitpick-reviewer.lock.yml) | - | `/nit` |
| [PR Triage Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/pr-triage-agent.md) | copilot | [![PR Triage Agent](https://github.com/github/gh-aw/actions/workflows/pr-triage-agent.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/pr-triage-agent.lock.yml) | - | - |
| [Python Data Visualization Generator](https://github.com/github/gh-aw/blob/main/.github/workflows/python-data-charts.md) | copilot | [![Python Data Visualization Generator](https://github.com/github/gh-aw/actions/workflows/python-data-charts.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/python-data-charts.lock.yml) | - | - |
| [Q](https://github.com/github/gh-aw/blob/main/.github/workflows/q.md) | copilot | [![Q](https://github.com/github/gh-aw/actions/workflows/q.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/q.lock.yml) | - | `/q` |
Expand Down
6 changes: 6 additions & 0 deletions docs/src/content/docs/reference/compilation-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,9 @@ Pre-activation runs checks sequentially. Any failure sets `activated=false`, pre
| `gh aw compile --actionlint --zizmor --poutine` | Run security scanners |
| `gh aw compile --purge` | Remove orphaned `.lock.yml` files |
| `gh aw compile --output /path/to/output` | Custom output directory |
| `gh aw compile --action-mode action --actions-repo owner/repo` | Compile using a custom actions repository (requires `--action-mode action`) |
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--actions-repo is only applied when action mode is action; the CLI doesn't appear to hard-require it, it will just be ignored in other modes. Consider rephrasing the description to “only works when --action-mode action is set” (or similar) to avoid implying the command will error without it.

Suggested change
| `gh aw compile --action-mode action --actions-repo owner/repo` | Compile using a custom actions repository (requires `--action-mode action`) |
| `gh aw compile --action-mode action --actions-repo owner/repo` | Compile using a custom actions repository (only applied when `--action-mode action` is set) |

Copilot uses AI. Check for mistakes.
| `gh aw compile --action-mode action --actions-repo owner/repo --action-tag branch-or-sha` | Compile against a specific branch or SHA in a fork |
| `gh aw compile --action-tag v1.2.3` | Pin action references to a specific tag or SHA (implies release mode) |
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The table entry says --action-tag ... “implies release mode”, but the CLI behavior is “overrides to release unless --action-mode action is explicitly set” (in which case it stays in action mode). Consider tweaking the wording to reflect that exception so readers don’t assume --action-tag always forces release mode.

Suggested change
| `gh aw compile --action-tag v1.2.3` | Pin action references to a specific tag or SHA (implies release mode) |
| `gh aw compile --action-tag v1.2.3` | Pin action references to a specific tag or SHA (defaults to release mode unless `--action-mode action` is explicitly set) |

Copilot uses AI. Check for mistakes.
| `gh aw validate` | Validate all workflows (compile + all linters, no file output) |
| `gh aw validate my-workflow` | Validate a specific workflow |
| `gh aw validate --json` | Validate and output results in JSON format |
Expand All @@ -261,6 +264,9 @@ Pre-activation runs checks sequentially. Any failure sets `activated=false`, pre
> [!TIP]
> Compilation is only required when changing **frontmatter configuration**. The **markdown body** (AI instructions) is loaded at runtime and can be edited without recompilation. See [Editing Workflows](/gh-aw/guides/editing-workflows/) for details.

> [!NOTE]
> The `--actions-repo` flag overrides the default `github/gh-aw-actions` repository used when `--action-mode action` is set. Use it together with `--action-tag` to compile against a branch or fork during development.

## Debugging Compilation

**Enable verbose logging**: `DEBUG=workflow:* gh aw compile my-workflow --verbose` shows job creation, action pin resolutions, tool configurations, and MCP setups.
Expand Down
Loading