Jenkins Release Builds

How to set up ASF Jenkins jobs to test a release branch. In order to perform these steps, you need to have an ASF Jenkins admin account and be logged in.

  • Delete all old release branch jobs. (When there are multiple active release branches – rare for Lucene/Solr – be cautious about this.)
    • Jenkins words this as "Delete Project", and can be seen in the contextual menu listed when hovering your mouse over a job/project in the list.
  • For each non-Clover & non-BadApple stable branch job - see all Solr jobs here: https://ci-builds.apache.org/job/Solr/
    • as of this writing, the set of jobs to do the following for is:
      • Solr-Artifacts-9.x
      • Solr-Check-9.x
      • Solr-Docker-Nightly-9.x
      • Solr-Smoketest-9.x
      • solr-reference-guide-official
    • Copy the job (Jenkins|New Item|Copy existing job), and name the new job by substituting the release version for the version in the copied job's name, e.g. s/7.x/7.5/.
    • It's a good practice to create the job as initially disabled (check the checkbox next to "Disable Build (No new builds will be executed until the project is re-enabled.)"), and then enable them all at once after you've finished creating them.
    • Switch the Branch Specifier under Branches to Build in the Source Code Management section to point to the release branch, e.g. */branch_7x -> */branch_7_5
    • All jobs are scheduled to run periodically. No changes should be required on the cloned jobs to handle this properly.
  • If you created the new jobs in the disabled state, enable them all now.




  • No labels

3 Comments

  1. Alex Deparvu , "Update all jobs to point to the new branch (e.g. Solr-*-9.3 → Solr-*-9.4)" – wouldn't we be replacing 9.x with 9.4 (etc.) since the instructions above call for duplication the 9.x jobs and not specific versions?

    1. Not sure I completely follow. I think the point was to move those jobs that cover latest minor release forward, not replace 9.x. So you would keep both 9.x and 9.4 (or whatever version is released) running. If I misunderstood the point of this setup please update the page for future reference. 

      1. Since the previous step is to copy  a 9.x job (see "Copy the job"), you thus have a new job that is looking at 9.x to be updated to the new release.  The original 9.x job remains.  

        Come to think of it, the section "For a minor Solr release (e.g. 9.4.0)" appears to me completely redundant with the information above.