-
Notifications
You must be signed in to change notification settings - Fork 3
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
Upgrade Docker Builder #168
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This reverts commit 51e5d17.
ClayJay3
previously approved these changes
Jan 28, 2024
08d0f98
to
2fa44f7
Compare
In 2022, GitHub Deprecated the `::set-output` method and changed the function used. It was unknowingly used in this new version of Autonomy for some actions and this commit corrects it.
ClayJay3
requested changes
Jan 30, 2024
ClayJay3
approved these changes
Jan 31, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
5-Star
Indicates a very difficult task, suitable for experts or those with extensive experience, requiring
actions
Tasks or issues related to GitHub Actions or CI/CD automation workflows.
bug
Unexpected behaviors or issues that cause the software to malfunction or produce incorrect results.
cleanup
Code refactoring or cleanup tasks to remove deprecated features, improve clarity, or ensure code qua
dev-environment
Issues or enhancements related to setting up or maintaining the development environment.
docker
Tasks or issues related to Docker containerization, including Dockerfile configuration and environme
enhancement
Requests for new features or improvements to existing features.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note: This PR started as a hotfix and then branched into this builder overhaul.
Docker Images are the base of our new Autonomy Codebase, so therefore we need to have an efficient yet affective method of rebuilding them when we add new libraries or configuration preferences. And this pull request streamlines that who process.
The above table shows the average results we were seeing when having to build everything from the ground up in the event a package near the beginning of the dockerfile changed.
A few different methods were tried to execute this process:
And this leaves us with the method that is located in this pull request. By creating build instructions for the libraries that we build from source, and then converting the install into a debian package. We are able to store those debian packages in a new repository and when the container is build we just download the version we need from there and only rebuild when library updates. In addition to this by switching which version of the docker image builder package on GitHub Actions we are using, there is a new buildcache feature that makes it so that builds have a place to start from. And lastly, adding more logic into the builder scripts to make it so that it only gets run when it needs too.
And as shown by the results in the above table, the amount of time it takes to build docker images as been lowered significantly.
Also, the new format for running the docker builders have an added perk of a really fancy looking action workflow graph.
And though upgrading the GitHub Action Packages, the node warnings (#165) have been fixed. In addition, all of our GitHub Actions have been updated to not use the deprecated method of setting step outputs.
We are also deprecating our support for Ubuntu 20.04 (Focal) due to it not being needed anymore and causing support issues.
resolves #165