Skip to content

[JENKINS-72951] Reset the reference build #686

@jenkins-infra-bot

Description

@jenkins-infra-bot

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:

 

"forensics-api@​2.4.0">
      "plugin-util-api@​4.1.0"/>
      
      
SUCCESS
0
BLUE
true
      
    
"warnings-ng@​11.2.2">
      

  
  
  "plugin-util-api@​4.1.0"/>
  **/target/checkstyle-result.xml
  
  false


  
  
  "plugin-util-api@​4.1.0"/>
  **/target/spotbugsXml.xml
  
  false
  true


  
  
  "plugin-util-api@​4.1.0"/>
  **/target/pmd.xml
  
  false


  
  
  "plugin-util-api@​4.1.0"/>
  **/target/cpd.xml
  
  false
  50
  25


  
  
  "plugin-util-api@​4.1.0"/>
  
  
  false

      
      
      
      EVERY_BUILD
      true
      false
      0
      0
      "analysis-model-api@​12.1.0">
LOW
      
      
      false
      true
      false
      false
      true
      NEW
      false
      

  1.0
  UNSTABLE
  NEW

      
      AGGREGATION_TOOLS
      
     
    "coverage@​1.13.0">
      "java.util.ImmutableCollections$List12" resolves-to="java.util.CollSer" serialization="custom">

  <default>
    1
  default>
  <int>1int>
  
    "plugin-util-api@​4.1.0"/>
    
    JACOCO
  

      
      "java.util.ImmutableCollections$List12" resolves-to="java.util.CollSer" serialization="custom">

  <default>
    1
  default>
  <int>2int>
  
    0.0
    UNSTABLE
    BRANCH
    PROJECT_DELTA
  
  
    0.0
    UNSTABLE
    LINE
    PROJECT_DELTA
  

      
      
      
      false
      Code Coverage
      MODIFIED_LINES
      false
      false
      false
      false
      
      
      
      LAST_BUILD
     

 


Originally reported by khazr, imported from: Reset the reference build
  • status: Open
  • priority: Minor
  • component(s): forensics-api-plugin
  • label(s): help-wanted
  • resolution: Unresolved
  • votes: 0
  • watchers: 2
  • imported: 20260107-220949
Raw content of original issue

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> 

 

  • environment: latest

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions