Skip to content

Creating a New Maintenance Branch

Andy Wilkinson edited this page Jan 6, 2025 · 4 revisions

A new maintenance branch should be created from main. For example, if main is currently building 3.4 and we want to start work on 3.5, a 3.4.x maintenance branch must be created:

$ git checkout main
$ git checkout -b 3.4.x

Once the branch has been created, a number of changes must be made both on the new maintenance branch and on main.

On the new maintenance branch:

  • Update latestVersion in gradle.properties to false

  • Update the following, replacing main with the name of the new maintenance branch (for example 3.4.x):

    • Build status image and link URLs in README.adoc

    • GitHub Actions workflows to run on push to the new maintenance branch, rather than main:

      • build-and-deploy-snapshot.yml

      • ci.yml

      • run-system-tests.yml

      • trigger-docs-build.yml

On main:

  • Update version in gradle.properties to m.n.0-SNAPSHOT (for example 3.5.0-SNAPSHOT)

  • Update the following, aligning with the m.n.x milestone for the new version (for example "3.5.x"):

    • build-name of the Deploy step in .github/workflows/build-and-deploy-snapshot.yml

    • name and label attributes of Project in eclipse/spring-boot-project.setup

    • main_branch git/hooks/prepare-forward-merge

  • Create a new spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/xsd/layers-m.n.xsd file with identical contents to the previous version

  • Update layers XML files beneath spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/ to reference the new XSD. You can use a command similar to find spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src -type f | xargs grep -l layers-3.4.xsd to identify the files to change.

  • Set bom.upgrade.policy in spring-boot-project/spring-boot-dependencies/build.gradle to same-major-version.

Clone this wiki locally