-
Notifications
You must be signed in to change notification settings - Fork 508
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
Create a common builder container #616
Conversation
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.
I think moving the build container specific bits to their own directory, e.g. tools/infra/containers/
might help clarify what everything is for. Currently, it isn't obvious that the env/bin
directory is for scripts to facilitate the containerized build.
I agree! I've moved things around in the latest commits along with an update to the README that's there. I'll update the Dockerfile to add some context in comments, I'll circle back with this next year. |
cd867cf
to
6523041
Compare
6523041
to
376ff46
Compare
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.
If we can add a few more comments and headers (mentioned below), then this looks good!
cc4aac1
to
4711571
Compare
@zmrow added some comments and took the opportunity to expand some of the conditionals to help explain the flow in the changed scripts. |
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.
🖍
Additional tools are required to run the AMI building stage and are common enough to merit being installed by default - eg: aws cli.
This uses the commands provided in the build environment instead of performing the on-demand installation for building within.
4711571
to
5b96f43
Compare
Rebased onto latest develop and changing merge target to a "feature" branch to prepare in parts for switching to the containerized environments. |
5b96f43
to
5a39288
Compare
Issue #, if available:
#592 #541
Description of changes:
This change brings in a Dockerfile for a common base container - a build environment - for use in codebuild for most, if not all, stages that are needed at this time. Related environment improvements were wired in with the changes to the container's "entrypoint" (quoted because this is actually overridden and fully controlled by the CodeBuild service agent).
The use of a common image doesn't significantly reduce the build time from what I can see in my build history with this particular set of changes, but I think this may be due to the options provided to Docker (which causes it to use the less performant
vfs
backend). I'll check to see if usingoverlay2
in the CodeBuild task gets us some improvement there.Until the CodeBuild projects and buildspecs are updated this image will not be used without further intervention. I've included a change to the
thar-pr-build
CodeBuild buildspec to show what these will look like. If folks are happy with the changes, I can tie in changes to the other buildspecs as well.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.