-
Notifications
You must be signed in to change notification settings - Fork 52
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
Record Launchable builds #1918
Record Launchable builds #1918
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.
@jenkinsci/bom-developers Tested successfully in https://ci.jenkins.io/job/Tools/job/bom/job/PR-1918/4/ against just the Pipeline plugins (I did not want to waste resources doing a full run when all that has changed is the Jenkinsfile
.
if [[ ${LINE} != weekly ]]; then | ||
PROFILE="-P${LINE}" | ||
fi | ||
# TODO https://github.com/jenkinsci/maven-hpi-plugin/pull/464 |
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 is a prototype, so it is probably OK to consume an incremental build here. But if others feel strongly otherwise, I can release a new version of Maven HPI plugin, update the plugin parent POM to consume it, and remove the -Dhpi-plugin.version
hack from this file. I have a feeling this code might change again soon, so this seems easier for now, but it is harmless to have this -DcommitHashes
option in Maven HPI plugin since this is the only consumer.
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 this is just fine for this stage of the prototype.
FYI, for the weekly line:
|
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 looks good to me. Thanks for the working prototype. Is it ready to merge (looks like it to me)?
Yeah, it is ready for merge as long as you don't mind #1918 (comment) for the time being (I think it's fine for a temporary prototype) |
* Record Launchable builds * Fix formatting and update incremental * Try trimming the session?
This is the next step in Launchable data collection: recording builds and test sessions. This PR depends on jenkins-infra/pipeline-library#632 and jenkinsci/jenkins#7780 to collect commits.
These two pages are extremely useful to understand this approach:
Here I am defining a build per BOM line, so each PR build would have 2 or 4 Launchable builds (based on whether or not the pull request labels contain
full-test
). This is losing some information, because each plugin under test depends on a subset of the other plugins under test, not the entire set of other plugins under test. So we could define builds with a smaller set of commits, per plugin under test. That might make the results more difficult to aggregate, though. There is some discussion of the tradeoffs in this page:For now I am defining the Launchable build per BOM line because it is easy to implement, but the matter is not closed for me. I still think it is worth clarifying what the preferred granularity of a Launchable build should be.
To capture the commit hashes of all the components (Jenkins core, other plugins, other libraries maintained by the Jenkins project) I am using jenkinsci/maven-hpi-plugin#464 to fetch the POM of each component and resolve the Git tag to a commit hash using the GitHub API. This is particularly painful, and I think there must be some better way to do this. This also requires a GitHub authentication token to be passed to the build.
Assuming we also get commits flowing by merging jenkins-infra/pipeline-library#632 and jenkinsci/jenkins#7780, then this PR puts a stake in the ground with a first attempt at getting useful data flowing into Launchable.