-
Notifications
You must be signed in to change notification settings - Fork 54
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
Pre-heat the artifact caching proxy #4095
Pre-heat the artifact caching proxy #4095
Conversation
Attempt to detect artifact caching proxy failures earlier in the build process by downloading the artifacts during the prep stage. The prep stage may not need the dependencies, but it is less expensive if the download fails early in the build process rather than failing later during plugin compatibility testing. This is flawed because it does not account for the number of artifact caching proxy instances that may be running. It might pre-heat only one of the caches, but hopefully that is better than nothing.
Argument was already used elsewhere as `-ntp` so it should use the same form here.
At first sight, this looks like a nice compromise to limit bom releases to be slowed down due to ACP (at least until we stabilizes it). Additionally, it will protect BOM builds when the migration of ci.jenkins.io will happen. This is at the cost of adding ~15 to ~20 min time on the With my Infra Officer hat, I believe this is a fine addition. But I would want to hear from other BOM maintainers. A few notes/nit picks (not mandatory to apply, only food for though):
|
Thanks! As far as I can tell from comparing builds of this pull request with builds of other pull requests that only run the prep.sh step, the most I've seen it add was 7 minutes when a 16 minute run of prep.sh without pre-heat became a 23 minute run on the first pre-heat attempt. Later pre-heat runs have ranged from 17 minutes to 21 minutes. The comparison times in the table are the duration of the prep.sh step on builds of this PR and other PR jobs. |
Merging based on 3 approvals and data that shows average build time increases by less than 2 minutes with the |
Pre-heat the artifact caching proxy
Try to detect issues with repo.jenkins-ci.org or with artifact caching proxy earlier when a failed build is less expensive. Will not detect every issue, but is hoped to detect some issues before the parallel stage starts.
Attempt to detect artifact caching proxy failures earlier in the build process by downloading the artifacts during the prep stage. The prep stage may not need the dependencies, but it is less expensive if the download fails early in the build process rather than failing later during plugin compatibility testing.
This is flawed because it does not account for the number of artifact caching proxy instances that may be running. It might pre-heat only one of the caches, but hopefully that is better than nothing.
Discussed in 10 Dec 2024 Jenkins infrastructure meeting
Interested in comments from @dduportal and @basil in case this is a waste of effort or a flawed implementation. Does not need to be merged before the weekly release, though it should be harmless, using some extra disc space on the agent that is running prep.sh.
Testing done
Confirmed that
mvn -ntp dependency:go-offline
has expected output on my computer.Submitter checklist