Skip to content

copilot-setup-steps.yml builds gh-aw from source unnecessarily #24568

Description

@lpcox

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 callssetup-go, setup-node, setup-uv all hit the GitHub API to resolve versions, contributing to rate limit exhaustion
  • Slow setup — building from source adds minutes of setup time
  • Rate limit failuressetup-uv calls 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-server

Desired behavior

Workflows that only use gh-aw (not develop it) should be able to install just:

  1. Copilot CLI — already handled by the AWF sandbox
  2. gh-aw extensiongh extension install github/gh-aw

Without pulling in the full build toolchain.

Suggested approach

Either:

  1. Remove copilot-setup-steps.yml import from reporting workflows and rely on their own steps: blocks (which already install gh-aw via extension)
  2. Create a lightweight setup variant (e.g., copilot-setup-steps-lite.yml) that only installs the extension without building from source
  3. Make copilot-setup-steps.yml conditional — skip build/recompile when the workflow doesn't need them

Affected workflows

  • copilot-token-audit.md — daily audit, only needs gh-aw CLI + Python
  • copilot-token-optimizer.md — daily optimizer, only needs gh-aw CLI

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions