-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[devcontainer] Version bump and enhanced UX. #35403
Conversation
Review changes with SemanticDiff. Analyzed 1 of 4 files.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This probably should be split between devcontainer changtes and dockerfile changes.
I have reservations about the dockerfile changes - it makes it more towards a generic full fledged development setup, however I believe that we may want to figure out some different paths for that as everyone may have their own development environment and scripts.
PR #35403: Size comparison from 44f8837 to 9233380 Full report (12 builds for nrfconnect, nxp, qpg, stm32, tizen)
|
PR #35403: Size comparison from 44f8837 to 9fb7f77 Full report (77 builds for bl602, bl702, bl702l, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #35403: Size comparison from 44f8837 to 9938e43 Full report (77 builds for bl602, bl702, bl702l, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #35403: Size comparison from 44f8837 to 51a8eb1 Full report (77 builds for bl602, bl702, bl702l, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
* Version bump, remove unnecessary libs * Allow environment location modification * Add apt installs to base image * Speed-up image building * Remove unneeded apt installs * Expose and document important env variable * Add all pigweed environments to .gitignore * Revert and reformat comment * Compatibility fix
Issue
The current devcontainer image version is 22, while the latest available version is 74. Upgrading to the latest version will resolve several compatibility issues.
The directory of bootstrap files is hardcoded in the base image but it should be visibly configurable.
The devcontainer build process is inefficient, with a significant amount of time spent on recursively
chown
ing unnecessary files.Proposed Solution
Update the
devcontainer.json
to use the latest image version. Additionally, remove some unnecessary dependencies inDockerfile
.Move the declaration of
PW_ENVIRONMENT_ROOT
environment variable from base image todevcontainer.json
.Eliminate certain
chown
operations, asgit config --global --add safe.directory "*"
with other minor changes provide a faster and sufficient alternative.Extra notes
apt installs from the
.devcontainer/Dockerfile
should be moved to the base image. This PR adds these apt installs to the base image and flags the ones in.devcontainer/Dockerfile
to be removed in the next version when this gets merged.Testing
Successfully compiled a subset of examples for the affected build targets.