Skip to content

feat(workflow): add copilot-setup-steps.yml for Coding Agent environment#398

Merged
WilliamBerryiii merged 7 commits intomainfrom
feat/388-tool-parity-cloud-agent
Feb 3, 2026
Merged

feat(workflow): add copilot-setup-steps.yml for Coding Agent environment#398
WilliamBerryiii merged 7 commits intomainfrom
feat/388-tool-parity-cloud-agent

Conversation

@katriendg
Copy link
Copy Markdown
Contributor

Description

Adds copilot-setup-steps.yml workflow to bridge the devcontainer environment to GitHub Actions runners for Copilot Coding Agent. The workflow pre-installs Node.js 20, Python 3.11, and PowerShell modules to match local development capabilities, enabling agents to use the same npm scripts for validation in the cloud environment.

  • Created .github/workflows/copilot-setup-steps.yml with SHA-pinned actions for checkout, setup-node, and setup-python
  • Added tool verification step confirming availability of node, npm, python3, pwsh, and shellcheck
  • Updated .github/copilot-instructions.md with new "Coding Agent Environment" section documenting pre-installed tools and npm script usage
  • Applied minimal contents: read permissions following principle of least privilege

Related Issue(s)

Closes #388

Type of Change

Select all that apply:

Code & Documentation:

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow
  • Linting configuration (markdown, PowerShell, etc.)
  • Security configuration
  • DevContainer configuration
  • Dependency update

AI Artifacts:

  • Reviewed contribution with prompt-builder agent and addressed all feedback
  • Copilot instructions (.github/instructions/*.instructions.md)
  • Copilot prompt (.github/prompts/*.prompt.md)
  • Copilot agent (.github/agents/*.agent.md)

Other:

  • Script/automation (.ps1, .sh, .py)
  • Other (please describe):

Sample Prompts (for AI Artifact Contributions)

N/A - only updated copilot-instructions.md for the cloud agent.

Testing

  • Workflow triggers on push/PR to its own path for validation
  • Tool verification step confirms all dependencies are available
  • npm scripts listed via npm run --list for agent reference

Checklist

Required Checks

  • Documentation is updated (if applicable) - This will be a follow-up PR to update documentation after workflow is merged and verified
  • Files follow existing naming conventions
  • Changes are backwards compatible (if applicable)
  • Tests added for new functionality (if applicable)

AI Artifact Contributions

  • Copilot instructions (.github/instructions/*.instructions.md)

Required Automated Checks

The following validation commands must pass before merging:

  • Markdown linting: npm run lint:md
  • Spell checking: npm run spell-check
  • Frontmatter validation: npm run lint:frontmatter
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps

Security Considerations

  • This PR does not contain any sensitive or NDA information
  • Any new dependencies have been reviewed for security issues
  • Security-related scripts follow the principle of least privilege

Additional Notes

The workflow uses SHA-pinned actions for security:

  • actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd (v4.2.2)
  • actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 (v4.1.0)
  • actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f (v5.1.1)

The job is named copilot-setup-steps as required by GitHub Copilot documentation for automatic recognition.

Intentionally excluded or leveraged from runners:

  • gitleaks - Secret scanning runs in CI workflows via security-scan.yml, following the principle that security validation belongs in the pipeline, not the agent's editing environment. GitHub's push protection provides an additional layer of defense.
  • shellcheck - Pre-installed on ubuntu-latest runners (v0.9.0-1), no explicit installation needed.
  • Pester 5.7.1 - Pre-installed on GitHub-hosted runners, no explicit installation needed.

Create copilot-setup-steps.yml workflow to pre-install tools for GitHub
Copilot Coding Agent, bridging the devcontainer environment to GitHub
Actions runners.

Workflow includes:
- SHA-pinned actions (checkout, setup-node, setup-python)
- Node.js 20 with npm ci for JavaScript dependencies
- Python 3.11
- PowerShell modules (PowerShell-Yaml)

Update copilot-instructions.md with Coding Agent Environment section
documenting pre-installed tools and npm script usage.
@katriendg katriendg requested a review from a team as a code owner February 3, 2026 12:25
Copilot AI review requested due to automatic review settings February 3, 2026 12:25
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 3, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
actions/actions/checkout de0fac2e4500dabe0009e67214ff5f5447ce83dd 🟢 6.4
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 57 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Packaging⚠️ -1packaging workflow not detected
Pinned-Dependencies🟢 3dependency not pinned by hash detected -- score normalized to 3
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
Branch-Protection🟢 6branch protection is not maximal on development and all release branches
Vulnerabilities🟢 73 existing vulnerabilities detected
SAST🟢 8SAST tool detected but not run on all commits
actions/actions/setup-node 6044e13b5dc448c55e2357c09f80417699197238 🟢 5.7
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 810 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 10license file detected
Fuzzing⚠️ 0project is not fuzzed
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 9binaries present in source code
Packaging⚠️ -1packaging workflow not detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
Branch-Protection⚠️ 1branch protection is not maximal on development and all release branches
SAST🟢 9SAST tool is not run on all commits -- score normalized to 9
Vulnerabilities🟢 46 existing vulnerabilities detected
actions/actions/setup-python 39cd14951b08e74b54015e9e001cdefcf80e669f 🟢 5
Details
CheckScoreReason
Maintained🟢 57 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5
Code-Review🟢 10all changesets reviewed
Binary-Artifacts🟢 10no binaries found in the repo
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Vulnerabilities⚠️ 010 existing vulnerabilities detected
SAST🟢 9SAST tool is not run on all commits -- score normalized to 9

Scanned Files

  • .github/workflows/copilot-setup-steps.yml

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Feb 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 61.45%. Comparing base (de43e73) to head (3e47e11).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #398      +/-   ##
==========================================
- Coverage   61.49%   61.45%   -0.04%     
==========================================
  Files          17       17              
  Lines        3111     3111              
==========================================
- Hits         1913     1912       -1     
- Misses       1198     1199       +1     
Flag Coverage Δ
pester 61.45% <ø> (-0.04%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a GitHub Actions workflow to configure the environment for GitHub Copilot Coding Agent, ensuring tool parity with the local devcontainer. The workflow pre-installs Node.js 20, Python 3.11, PowerShell modules, and verifies tool availability to enable cloud-based agents to run the same validation scripts as local developers.

Changes:

  • Created .github/workflows/copilot-setup-steps.yml to pre-install development tools and dependencies for Copilot Coding Agent
  • Updated .github/copilot-instructions.md with new "Coding Agent Environment" section documenting pre-installed tools, npm script usage, and environment synchronization practices

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
.github/workflows/copilot-setup-steps.yml New workflow that sets up Node.js 20, Python 3.11, PowerShell modules, and verifies tool availability for Copilot Coding Agent with SHA-pinned actions
.github/copilot-instructions.md Added documentation section describing the cloud agent environment, available tools, npm scripts for validation, and synchronization guidance

Copilot AI review requested due to automatic review settings February 3, 2026 15:59
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

PR review comment

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 3, 2026 16:09
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 3, 2026 16:20
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown
Member

@WilliamBerryiii WilliamBerryiii left a comment

Choose a reason for hiding this comment

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

LGTM

@WilliamBerryiii WilliamBerryiii merged commit 085a38b into main Feb 3, 2026
17 checks passed
@WilliamBerryiii WilliamBerryiii deleted the feat/388-tool-parity-cloud-agent branch February 3, 2026 18:50
WilliamBerryiii added a commit that referenced this pull request Feb 4, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.1.0](hve-core-v2.0.1...hve-core-v2.1.0)
(2026-02-04)


### ✨ Features

* add PowerShell script to validate copyright headers
([#370](#370))
([92fce72](92fce72))
* **docs:** Replace deprecated chat.modeFilesLocations with
chat.agentFilesLocations
([#413](#413))
([67fb2ab](67fb2ab))
* **scripts:** add CIHelpers module for CI platform abstraction
([#348](#348))
([23e7a7e](23e7a7e))
* **scripts:** add SecurityHelpers and CIHelpers modules
([#354](#354))
([b93d990](b93d990))
* **workflow:** add copilot-setup-steps.yml for Coding Agent environment
([#398](#398))
([085a38b](085a38b))


### 🐛 Bug Fixes

* **build:** increase release-please search depths to prevent 250-commit
window issue ([#342](#342))
([4bb857d](4bb857d))
* **build:** patch @isaacs/brace-expansion critical vulnerability
([#404](#404))
([292ef51](292ef51))
* **ci:** disable errexit during spell check exit code capture
([#356](#356))
([ed6ed46](ed6ed46))
* **ci:** exclude extension/README.md from frontmatter validation
([#362](#362))
([e0d7378](e0d7378))
* exclude test fixtures from markdown link checker
([#345](#345))
([58147f9](58147f9))
* **extension:** resolve path resolution issues in Windows/WSL
environments ([#407](#407))
([8529725](8529725))
* **linting:** use Write-Error instead of Write-Host for error output
([#377](#377))
([2ca766b](2ca766b))
* **scripts:** apply CI output escaping to infrastructure scripts
([#369](#369))
([251021e](251021e))
* **scripts:** apply CI output escaping to linting scripts
([#367](#367))
([fdd75ed](fdd75ed))
* **scripts:** apply CI output escaping to security scripts
([#368](#368))
([1237c9a](1237c9a))
* **scripts:** ensure reliable array count operations in linting and
security scripts
([#395](#395))
([de43e73](de43e73))
* **scripts:** standardize PowerShell requirements header block
([#385](#385))
([6e26282](6e26282))


### 📚 Documentation

* add doc-ops agent to CUSTOM-AGENTS reference
([#358](#358))
([15f7185](15f7185))
* add memory agent to CUSTOM-AGENTS.md
([#359](#359))
([d92c4e1](d92c4e1))
* add missing agents to extension README
([#357](#357))
([d58541c](d58541c))
* add task-reviewer agent to CUSTOM-AGENTS.md
([#363](#363))
([0efb722](0efb722))
* **contributing:** add copyright header guidelines
([#382](#382))
([881a567](881a567))
* **scripts:** update README.md with missing directory sections
([#355](#355))
([ac2966f](ac2966f))


### ♻️ Refactoring

* **scripts:** align linting and tests with CIHelpers
([#401](#401))
([3587e6a](3587e6a))
* **scripts:** extract Invoke-PackageExtension for testability
([#343](#343))
([858a1be](858a1be))
* **scripts:** extract orchestration function for Prepare-Extension
testability ([#344](#344))
([9fd4bd1](9fd4bd1))
* **scripts:** replace raw GITHUB_OUTPUT with Set-CIOutput in
Package-Extension
([#391](#391))
([74a30bb](74a30bb))
* **security:** move DependencyViolation and ComplianceReport to shared
module ([#378](#378))
([1dd31ad](1dd31ad))


### 🔧 Maintenance

* add copyright headers to PowerShell scripts
([#381](#381))
([d19c9b3](d19c9b3))
* add copyright headers to shell scripts
([#380](#380))
([284b456](284b456))
* **deps-dev:** bump cspell from 9.6.1 to 9.6.2 in the npm-dependencies
group ([#387](#387))
([23c2b9f](23c2b9f))
* **workflows:** simplify Copilot setup steps workflow triggers
([#414](#414))
([492a7b1](492a7b1))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: hve-core-release-please[bot] <254602402+hve-core-release-please[bot]@users.noreply.github.com>
Co-authored-by: Bill Berry <wberry@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Issue]: Ensure Tool Parity Between DevContainer, Custom Agents, and GitHub Copilot Coding Agent

6 participants