-
New Feature
-
Resolution: Unresolved
-
Minor
-
latest
I want to be able to manually reset the reference build to a newer version. We mark our build as unstable if the quality gates from warningsng and codecoverage are failed. But sometimes we cannot immediately fix these issues and want to reset the reference build to one that is marked as unstable.
We use the freestyle project for our jobs.
Currently I work around this by manually rebuilding after changing the config to also select unstable builds.
Below example config:
<io.jenkins.plugins.forensics.reference.SimpleReferenceRecorder plugin="forensics-api@2.4.0"> <jenkins plugin="plugin-util-api@4.1.0"/> <referenceJob/> <requiredResult> <name>SUCCESS</name> <ordinal>0</ordinal> <color>BLUE</color> <completeBuild>true</completeBuild> </requiredResult> </io.jenkins.plugins.forensics.reference.SimpleReferenceRecorder>
<io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng@11.2.2"> <analysisTools> <io.jenkins.plugins.analysis.warnings.CheckStyle> <id/> <name/> <jenkins plugin="plugin-util-api@4.1.0"/> <pattern>**/target/checkstyle-result.xml</pattern> <reportEncoding/> <skipSymbolicLinks>false</skipSymbolicLinks> </io.jenkins.plugins.analysis.warnings.CheckStyle> <io.jenkins.plugins.analysis.warnings.SpotBugs> <id/> <name/> <jenkins plugin="plugin-util-api@4.1.0"/> <pattern>**/target/spotbugsXml.xml</pattern> <reportEncoding/> <skipSymbolicLinks>false</skipSymbolicLinks> <useRankAsPriority>true</useRankAsPriority> </io.jenkins.plugins.analysis.warnings.SpotBugs> <io.jenkins.plugins.analysis.warnings.Pmd> <id/> <name/> <jenkins plugin="plugin-util-api@4.1.0"/> <pattern>**/target/pmd.xml</pattern> <reportEncoding/> <skipSymbolicLinks>false</skipSymbolicLinks> </io.jenkins.plugins.analysis.warnings.Pmd> <io.jenkins.plugins.analysis.warnings.Cpd> <id/> <name/> <jenkins plugin="plugin-util-api@4.1.0"/> <pattern>**/target/cpd.xml</pattern> <reportEncoding/> <skipSymbolicLinks>false</skipSymbolicLinks> <highThreshold>50</highThreshold> <normalThreshold>25</normalThreshold> </io.jenkins.plugins.analysis.warnings.Cpd> <io.jenkins.plugins.analysis.warnings.Java> <id/> <name/> <jenkins plugin="plugin-util-api@4.1.0"/> <pattern/> <reportEncoding/> <skipSymbolicLinks>false</skipSymbolicLinks> </io.jenkins.plugins.analysis.warnings.Java> </analysisTools> <sourceCodeEncoding/> <sourceDirectories/> <sourceCodeRetention>EVERY_BUILD</sourceCodeRetention> <ignoreQualityGate>true</ignoreQualityGate> <failOnError>false</failOnError> <healthy>0</healthy> <unhealthy>0</unhealthy> <minimumSeverity plugin="analysis-model-api@12.1.0"> <name>LOW</name> </minimumSeverity> <filters/> <isEnabledForFailure>false</isEnabledForFailure> <isAggregatingResults>true</isAggregatingResults> <quiet>false</quiet> <isBlameDisabled>false</isBlameDisabled> <skipPublishingChecks>true</skipPublishingChecks> <checksAnnotationScope>NEW</checksAnnotationScope> <skipPostProcessing>false</skipPostProcessing> <qualityGates> <io.jenkins.plugins.analysis.core.util.WarningsQualityGate> <threshold>1.0</threshold> <criticality>UNSTABLE</criticality> <type>NEW</type> </io.jenkins.plugins.analysis.core.util.WarningsQualityGate> </qualityGates> <trendChartType>AGGREGATION_TOOLS</trendChartType> <scm/> </io.jenkins.plugins.analysis.core.steps.IssuesRecorder>
<io.jenkins.plugins.coverage.metrics.steps.CoverageRecorder plugin="coverage@1.13.0"> <tools class="java.util.ImmutableCollections$List12" resolves-to="java.util.CollSer" serialization="custom"> <java.util.CollSer> <default> <tag>1</tag> </default> <int>1</int> <io.jenkins.plugins.coverage.metrics.steps.CoverageTool> <jenkins plugin="plugin-util-api@4.1.0"/> <pattern/> <parser>JACOCO</parser> </io.jenkins.plugins.coverage.metrics.steps.CoverageTool> </java.util.CollSer> </tools> <qualityGates class="java.util.ImmutableCollections$List12" resolves-to="java.util.CollSer" serialization="custom"> <java.util.CollSer> <default> <tag>1</tag> </default> <int>2</int> <io.jenkins.plugins.coverage.metrics.steps.CoverageQualityGate> <threshold>0.0</threshold> <criticality>UNSTABLE</criticality> <metric>BRANCH</metric> <baseline>PROJECT_DELTA</baseline> </io.jenkins.plugins.coverage.metrics.steps.CoverageQualityGate> <io.jenkins.plugins.coverage.metrics.steps.CoverageQualityGate> <threshold>0.0</threshold> <criticality>UNSTABLE</criticality> <metric>LINE</metric> <baseline>PROJECT_DELTA</baseline> </io.jenkins.plugins.coverage.metrics.steps.CoverageQualityGate> </java.util.CollSer> </qualityGates> <id/> <name/> <skipPublishingChecks>false</skipPublishingChecks> <checksName>Code Coverage</checksName> <checksAnnotationScope>MODIFIED_LINES</checksAnnotationScope> <ignoreParsingErrors>false</ignoreParsingErrors> <failOnError>false</failOnError> <enabledForFailure>false</enabledForFailure> <skipSymbolicLinks>false</skipSymbolicLinks> <scm/> <sourceCodeEncoding/> <sourceDirectories/> <sourceCodeRetention>LAST_BUILD</sourceCodeRetention> </io.jenkins.plugins.coverage.metrics.steps.CoverageRecorder>
- relates to
-
JENKINS-56178 Offer to select a specific build as the new reference in "reset" quality gate
- Open