feat(build): improve performance and reliability of devcontainer launch (#977)#472
feat(build): improve performance and reliability of devcontainer launch (#977)#472stewartadam wants to merge 12 commits intomicrosoft:mainfrom
Conversation
|
Follow up to #119. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #472 +/- ##
=======================================
Coverage 88.01% 88.01%
=======================================
Files 45 45
Lines 7886 7886
=======================================
Hits 6941 6941
Misses 945 945
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
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
/workspaceand 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. |
|
@stewartadam - reverting to draft for now. |
|
Hey @stewartadam — thanks for capturing these devcontainer learnings from customer projects! 🚀 We've updated the PR title scope from |
|
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. |
|
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 |
e0cc129 to
98a91ba
Compare
|
Created #977 and updated based on feedback |
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>
e238261 to
3f87e6d
Compare
3f87e6d to
265d54b
Compare
Pull Request
Description
Captures learnings from recent customer projects to enhance the build speed and launch reliability of the dev container.
Related Issue(s)
Type of Change
Select all that apply:
Code & Documentation:
Infrastructure & Configuration:
AI Artifacts:
prompt-builderagent and addressed all feedback.github/instructions/*.instructions.md).github/prompts/*.prompt.md).github/agents/*.agent.md).github/skills/*/SKILL.md)Other:
.ps1,.sh,.py)Sample Prompts (for AI Artifact Contributions)
User Request:
Execution Flow:
Output Artifacts:
Success Indicators:
For detailed contribution requirements, see:
Testing
Checklist
Required Checks
AI Artifact Contributions
/prompt-analyzeto review contributionprompt-builderreviewRequired Automated Checks
The following validation commands must pass before merging:
npm run lint:mdnpm run spell-checknpm run lint:frontmatternpm run validate:skillsnpm run lint:md-linksnpm run lint:psnpm run plugin:generateSecurity Considerations
Additional Notes