Incremental Build Detection Probe
Introduction
The Incremental Build Detection Probe
was developed as a part of Google Summer of Code 2023 for the plugin health scoring system project.
Incremental builds aid in continuous delivery of plugins, deploying only the modules affected by new commits [1]. Jenkins core and plugins can be deployed incrementally, rather than waiting for the developer to manually deploy the release [2].
This probe identifies the plugins that have configured incremental-builds
.
Importance of the Probe
This probe encourages delivery automation and saves the maintainer from manual deployment.
Challenges
Understanding the configuration and implementation posed a major challenge in this probe. To me, it seemed that I needed to check the configuration for Maven Friendly CI versions.
My mentor pointed out the following and explained that the actual configuration goes deeper:
-
The setup is actually done in
.mvn/maven.config
and it is essential that I look for the configuration in.mvn/maven.config
. -
Some plugins configure it in
extensions.xml
in the.mvn
section such as kubernetes-plugin. -
The final step was to look for the configuration in the CD workflow. As the
jep-229
(Continuous Delivery Probe) is already live, I did not need to look for this configuration.
Outcome and Learning
I learned more about GitHub Workflows and its strength. This probe is merged and ready to be live.
Links
For more information or if you have any questions, please visit the official GSoC 2023 project Adding Probes to "Plugin Health Score" description page.