Summary
The Copilot Coding Agent runs in a cloud-based GitHub Actions environment configured by copilot-setup-steps.yml. This workflow pre-installs tools to match devcontainer capabilities. It currently lacks uv installation and Python dependency resolution, meaning the Coding Agent cannot run Python linting or testing commands.
Context
Issue #388 (closed) established the copilot-setup-steps.yml pattern for tool parity between local and agent environments. Issue #514 (closed, v3.0.0) addressed specific parity gaps between the devcontainer and copilot-setup-steps. The copilot-instructions.md documents an explicit Environment Synchronization section stating that when adding tools to either environment, both should be evaluated for the same change.
With PR #868 introducing Python skills and #887 adding uv to the devcontainer, this workflow must be updated to maintain parity. The Copilot Agent environment already has Python 3.11 available (documented in copilot-instructions.md), but needs uv for package management and dependency resolution.
Changes Required
| File |
Change |
.github/workflows/copilot-setup-steps.yml |
Add uv installation step |
.github/workflows/copilot-setup-steps.yml |
Add uv sync step for Python dependency resolution using dynamic discovery |
.github/copilot-instructions.md |
Update Pre-installed Tools section to document uv availability |
The uv installation should use a pinned version and verified download method consistent with the devcontainer approach (#887). The uv sync step should discover and iterate over all pyproject.toml files under .github/skills/ using the same pattern as the devcontainer:
find .github/skills -name pyproject.toml -execdir uv sync \;
This ensures parity with the devcontainer (#887) and automatically resolves dependencies for new Python skills without workflow modifications.
Acceptance Criteria
Dependencies
Related
Summary
The Copilot Coding Agent runs in a cloud-based GitHub Actions environment configured by
copilot-setup-steps.yml. This workflow pre-installs tools to match devcontainer capabilities. It currently lacksuvinstallation and Python dependency resolution, meaning the Coding Agent cannot run Python linting or testing commands.Context
Issue #388 (closed) established the
copilot-setup-steps.ymlpattern for tool parity between local and agent environments. Issue #514 (closed, v3.0.0) addressed specific parity gaps between the devcontainer and copilot-setup-steps. Thecopilot-instructions.mddocuments an explicit Environment Synchronization section stating that when adding tools to either environment, both should be evaluated for the same change.With PR #868 introducing Python skills and #887 adding
uvto the devcontainer, this workflow must be updated to maintain parity. The Copilot Agent environment already has Python 3.11 available (documented in copilot-instructions.md), but needsuvfor package management and dependency resolution.Changes Required
.github/workflows/copilot-setup-steps.ymluvinstallation step.github/workflows/copilot-setup-steps.ymluv syncstep for Python dependency resolution using dynamic discovery.github/copilot-instructions.mduvavailabilityThe
uvinstallation should use a pinned version and verified download method consistent with the devcontainer approach (#887). Theuv syncstep should discover and iterate over allpyproject.tomlfiles under.github/skills/using the same pattern as the devcontainer:find .github/skills -name pyproject.toml -execdir uv sync \;This ensures parity with the devcontainer (#887) and automatically resolves dependencies for new Python skills without workflow modifications.
Acceptance Criteria
uvis installed and available on PATH in the Copilot Agent environmentuv syncresolves Python dependencies for allpyproject.tomlfiles found under.github/skills/npm run lint:pyandnpm run test:pywork in the Copilot Agent environmentcopilot-instructions.mdPre-installed Tools section listsuvpyproject.tomlis automatically resolved without workflow changesDependencies
Related