Skip to content

feat(build): improve performance and reliability of devcontainer launch (#977)#472

Open
stewartadam wants to merge 12 commits intomicrosoft:mainfrom
stewartadam:stad/devcontainer-enhancements
Open

feat(build): improve performance and reliability of devcontainer launch (#977)#472
stewartadam wants to merge 12 commits intomicrosoft:mainfrom
stewartadam:stad/devcontainer-enhancements

Conversation

@stewartadam
Copy link
Member

@stewartadam stewartadam commented Feb 11, 2026

Pull Request

Description

Captures learnings from recent customer projects to enhance the build speed and launch reliability of the dev container.

  • removes unused Python feature from container, which was causing compilation of Python on build
  • add volume mounts for node_modules and user config for better I/O performance
  • normalize workspace mount to /workspace for consistency across environments
  • add CA certificate injection for corporate TLS inspection (ZScaler, etc.)
  • add git config include parsing workaround for devcontainer identity issues

Related Issue(s)

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)
  • Copilot skill (.github/skills/*/SKILL.md)

Note for AI Artifact Contributors:

  • Agents: Research, indexing/referencing other project (using standard VS Code GitHub Copilot/MCP tools), planning, and general implementation agents likely already exist. Review .github/agents/ before creating new ones.
  • Skills: Must include both bash and PowerShell scripts. See Skills.
  • Model Versions: Only contributions targeting the latest Anthropic and OpenAI models will be accepted. Older model versions (e.g., GPT-3.5, Claude 3) will be rejected.
  • See Agents Not Accepted and Model Version Requirements.

Other:

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

Sample Prompts (for AI Artifact Contributions)

User Request:

Execution Flow:

Output Artifacts:

Success Indicators:

For detailed contribution requirements, see:

Testing

Checklist

Required Checks

  • Documentation is updated (if applicable)
  • Files follow existing naming conventions
  • Changes are backwards compatible (if applicable)
  • Tests added for new functionality (if applicable)

AI Artifact Contributions

  • Used /prompt-analyze to review contribution
  • Addressed all feedback from prompt-builder review
  • Verified contribution follows common standards and type-specific requirements

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
  • Skill structure validation: npm run validate:skills
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps
  • Plugin freshness: npm run plugin:generate

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

Copilot AI review requested due to automatic review settings February 11, 2026 00:27
@stewartadam stewartadam requested a review from a team as a code owner February 11, 2026 00:27
@stewartadam
Copy link
Member Author

Follow up to #119.

@codecov-commenter
Copy link

codecov-commenter commented Feb 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.01%. Comparing base (c2b806f) to head (8bd6188).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #472   +/-   ##
=======================================
  Coverage   88.01%   88.01%           
=======================================
  Files          45       45           
  Lines        7886     7886           
=======================================
  Hits         6941     6941           
  Misses        945      945           
Flag Coverage Δ
pester 86.91% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

Copy link
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

Improves devcontainer build/attach performance and reliability by removing unneeded features, standardizing the workspace path, and adding volume mounts and git-config handling for better cross-environment behavior.

Changes:

  • Standardize devcontainer workspace to /workspace and add volumes for user config + node_modules.
  • Add post-create ownership workaround for mounted volumes and a post-attach git identity reconfiguration step.
  • Add repository-level ignores/attributes to support the new devcontainer flow (gitconfig exports, dockerignore, line ending rules).

Reviewed changes

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

Show a summary per file
File Description
.gitignore Ignores generated gitconfig export files used by the devcontainer attach workaround.
.gitattributes Adds explicit checkout line-ending rules for scripts and Dockerfiles.
.dockerignore Excludes .git and node_modules from Docker build contexts for speed/smaller contexts.
.devcontainer/scripts/post-create.sh Adds volume ownership fix step and installs Node dependencies during container setup.
.devcontainer/scripts/post-attach.sh Applies exported git identity settings inside the container after attach.
.devcontainer/devcontainer.json Normalizes workspace mount/folder, adds volumes, removes unused features, and wires initialize/postAttach commands.
.devcontainer/README.md Updates documented toolset and troubleshooting guidance to match the new devcontainer behavior.

Copy link
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.

Looking sharp

@WilliamBerryiii WilliamBerryiii marked this pull request as draft February 25, 2026 23:09
@WilliamBerryiii
Copy link
Member

@stewartadam - reverting to draft for now.

@WilliamBerryiii WilliamBerryiii modified the milestones: v3.1.0, v3.2.0 Mar 1, 2026
@WilliamBerryiii WilliamBerryiii changed the title feat(devcontainer): improve performance and reliability of devcontainer launch feat(build): improve performance and reliability of devcontainer launch Mar 7, 2026
@WilliamBerryiii
Copy link
Member

Hey @stewartadam — thanks for capturing these devcontainer learnings from customer projects! 🚀 We've updated the PR title scope from devcontainer to build to align with our conventional commits conventions. No action needed on your end.

@WilliamBerryiii
Copy link
Member

We've updated the PR description to align with the current pull request template. All original content has been preserved and relocated into the appropriate template sections. No action needed on your end — though you're welcome to review the updated description and fill in any remaining sections (testing details, checklist confirmations, etc.) at your convenience.

@WilliamBerryiii
Copy link
Member

Hi @stewartadam — Thanks for this contribution! A quick note on project conventions: we ask that pull requests be paired with a corresponding backlog issue for tracking purposes. I wasn't able to find an existing issue related to devcontainer performance and reliability improvements.

When you get a chance, could you file an issue describing the changes this PR addresses and link it here using Closes #NNN in the PR body? This helps the team track work across the backlog and ensures issues are automatically closed when PRs merge. Thanks! 🙏

@stewartadam stewartadam force-pushed the stad/devcontainer-enhancements branch from e0cc129 to 98a91ba Compare March 11, 2026 20:57
@stewartadam stewartadam changed the title feat(build): improve performance and reliability of devcontainer launch feat(build): improve performance and reliability of devcontainer launch (#977) Mar 11, 2026
@stewartadam
Copy link
Member Author

Created #977 and updated based on feedback

@stewartadam stewartadam marked this pull request as ready for review March 11, 2026 21:13
stewartadam and others added 8 commits March 16, 2026 09:54
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@stewartadam stewartadam force-pushed the stad/devcontainer-enhancements branch from e238261 to 3f87e6d Compare March 16, 2026 16:56
@stewartadam stewartadam force-pushed the stad/devcontainer-enhancements branch from 3f87e6d to 265d54b Compare March 16, 2026 16:57
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.

5 participants