Ticket #1794 (closed enhancement: fixed)
Opened 2013-04-10T10:53:54-05:00
Last modified 2013-05-31T16:12:19-05:00
Improve the Stable-Fiji job
Reported by: | dscho | Owned by: | dscho |
---|---|---|---|
Priority: | minor | Milestone: |
|
Component: | Updater | Version: | |
Severity: | minor | Keywords: | |
Cc: | curtis | Blocked By: | |
Blocking: | #1901 |
Description
At the moment, the Stable-Fiji job runs too often, listing even builds without any changes. Use a ScriptTrigger to avoid superfluous builds.
Speaking of changes: the Groovy Postbuild should allow us to list the changed files in the Recent Changes section by using removeSummary and createSummary (see https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Postbuild+Plugin).
This was solved in a slightly different way, because the changes are *not* summary entries. Instead, Jenkins' Changes link triggers a Jelly script that accumulates the ChangeLogSets of all the Builds which are parsed by a ChangeLogParser that gets set by the current Build's SCM.
Unfortunately, all of this is not really accessible and the ChangeLogParser is persisted via its class name in the build.xml file. Therefore, we cannot simply add a ChangeLogParser class in the Groovy Postbuild script. Further, build.xml only gets written after the Groovy script is executed, and likewise, the ChangeLogParser in that file is ignored; whatever the current Build's SCM said the changes are get put into Jenkins' cache (in case of no SCM, an empty ChangeLogSet is created and the NullChangeLogParser that simply ignores anything in the changelog.xml file is persisted).
Therefore, we have to play really nasty games, pretending that we're Subversions and faking/accessing all kinds of things.