-
Notifications
You must be signed in to change notification settings - Fork 356
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
Improve build of the ISO creating containers #5052
Improve build of the ISO creating containers #5052
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.
Thank you, this looks great!
Do you want to change also the workflows together with this, or leave it for later?
I wonder about the first commit. What are the risks of that change?
61f2e83
to
b51b643
Compare
Infrastructure check failed on these files. Please do a double check of these files before merge! CONTRIBUTING.rst |
Please split the PR according to what you are fixing or changing. Owner after image build = one thing. Caching = second thing. Dependencies = third thing. |
Looks like without weak deps, the tests don't succeed. |
/kickstart-test --testtype smoke |
Do not require people to use any Makefile commands as sudo. The sudo calls should be solved inside of the Makefile.
Because the build of an ISO is done as root the output artifacts are root too. To solve this copy the ownership from the input anaconda RPMs to the output artifacts.
b51b643
to
2cb2b61
Compare
Infrastructure check failed on these files. Please do a double check of these files before merge! CONTRIBUTING.rst |
/kickstart-test --testtype smoke |
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.
Looks good to me. Thank you!
Should be good to merge, I'll change the build action in #5071 as needed. |
Change the ownership of the artifacts build from the ISO builds
The ISO builds are required to be done under root. That means that the resulting artifacts are also root owned. That makes troubles with
git clean
or similar calls. To solve that copy theowner
andgroup
from the input Anaconda RPMs to output artifacts. That should be correct most of the time.Also remove requirements to run make commands as root
The
sudo make ...
is just wrong and should not be used anymore. Insteadsudo
calls are abstracted in theMakefile
.Improve usage of the container build cache
Cache could save a lot of time during development but could cause outdated images because container don't know if the DNF call is outdated. To resolve this with a compromise let's set the cache live to246 hours. When cache is older than246 hours it will be ignored otherwise it's used.This is significant improvement to container development!
Moved to #5073
Reduce size of the images
For all the DNF calls disable weak dependencies.This is harder to test but should be easily to fix potential issues.
However, the saving should be nice. In my simple testing:
anaconda-ci on master branch:original size: 2.68 GiB
new size: 2.22 GiB
Moved to #5072
Improve the documentation of the ISO builds
Reflect new changes.
Improve the state based on the feedback I've got.