-
Notifications
You must be signed in to change notification settings - Fork 327
copilot-setup-steps.yml builds gh-aw from source unnecessarily #24568
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or requestperformanceworkflows
Description
Problem
copilot-setup-steps.yml builds gh-aw from source (make deps-dev, make build, make recompile) and installs Go, Node.js, npm dependencies, etc. This is appropriate for workflows that modify gh-aw code, but workflows that only use gh-aw (e.g., token audit, optimizer) don't need any of that.
Importing copilot-setup-steps.yml into reporting/audit workflows causes:
- Unnecessary API calls —
setup-go,setup-node,setup-uvall hit the GitHub API to resolve versions, contributing to rate limit exhaustion - Slow setup — building from source adds minutes of setup time
- Rate limit failures —
setup-uvcalls the GitHub Releases API to find the latest version; when the installation token is already rate-limited, this step fails and blocks the entire workflow (see run #23984585463)
Current state
copilot-setup-steps.yml includes:
- curl install gh-aw extension
- actions/checkout
- setup-node + npm ci
- setup-go
- npm install
- make deps-dev
- make build # builds gh-aw binary from source
- make recompile # recompiles all workflow lock files
- setup-uv
- install gopls
- install typescript-language-serverDesired behavior
Workflows that only use gh-aw (not develop it) should be able to install just:
- Copilot CLI — already handled by the AWF sandbox
- gh-aw extension —
gh extension install github/gh-aw
Without pulling in the full build toolchain.
Suggested approach
Either:
- Remove
copilot-setup-steps.ymlimport from reporting workflows and rely on their ownsteps:blocks (which already install gh-aw via extension) - Create a lightweight setup variant (e.g.,
copilot-setup-steps-lite.yml) that only installs the extension without building from source - Make
copilot-setup-steps.ymlconditional — skip build/recompile when the workflow doesn't need them
Affected workflows
copilot-token-audit.md— daily audit, only needs gh-aw CLI + Pythoncopilot-token-optimizer.md— daily optimizer, only needs gh-aw CLI
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or requestperformanceworkflows
Type
Fields
Give feedbackNo fields configured for issues without a type.