Skip to end of banner
Go to start of banner

Release instructions (back-end)

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Current »

Main release

  1. Make sure that all pull requests required for the release are merged.
  2. Pull all changes and create a new branch from the master with the name `tmp-release-vX.Y.Z`, where X.Y.Z - a new version of the module
  3. Use versions-maven-plugin to update module dependencies in pom.xml (only stable versions, without snapshot, betta, alfa, etc.).
  4. Run mvn clean verify to check that new dependencies versions do not affect functionality.

  5. Commit changes with the commit message 'Update dependencies'.
  6. Update NEWS with changes that are included in the release (use the template below).

    ## vX.Y.Z YYYY-mm-DD
    ### Breaking changes
    * Description ([ISSUE_NUMBER](https://issues.folio.org/browse/ISSUE_NUMBER))
    
    ### New APIs versions
    * Provides `API_NAME vX.Y`
    * Requires `API_NAME vX.Y`
    
    ### Features
    * Description ([ISSUE_NUMBER](https://issues.folio.org/browse/ISSUE_NUMBER))
    
    ### Bug fixes // There is no need to add bugs that are fixing a feature that was introduced in the current release, only fixes bugs from previous releases.
    * Description ([ISSUE_NUMBER](https://issues.folio.org/browse/ISSUE_NUMBER))
    
    ### Tech Dept
    * Description ([ISSUE_NUMBER](https://issues.folio.org/browse/ISSUE_NUMBER))
    
    ### Dependencies
    * Bump `LIB_NAME` from `OLD_VERSION` to `NEW_VERSION`
    * Add `LIB_NAME` `2.7.4`
    * Remove `LIB_NAME`
  7. Add information about the release in RELEASE.md file.
  8. Commit changes with the commit message 'Update NEWS'.
  9. Run mvn release:branch or use the built-in IDE Maven plugin to create a release branch.
    • The branch name should be in the format release/vX.Y
    • The new development version should be X.Y+1.0-SNAPSHOT.
  10. Push created commits to the repository and create a pull request. Wait for the review of your PR and merge it (without squash).
  11. Checkout release/vX.Y the release branch. Then run mvn clean release:prepare or use the built-in Maven plugin to prepare the release.
    1. Release version - X.Y.0
    2. Release tag - vX.Y.0
    3. New version - vX.Y.1-SNAPSHOT
  12. Push the release branch and the tag to the repository.
  13. Go to Jenkins https://jenkins-aws.indexdata.com/job/folio-org/job/<module-name>/view/tags/ and run the pipeline for the new tag.
  14. After the pipeline job is successfully finished you can create a release on GitHub.
  15. Notify the community in the release channel about the release.
  16. Close the release ticket:
    1. Set Fix Version = X.Y.0 (if it does not exist ask SM or TL to create it)
    2. Set Release 
    3. Set Fix Version to all tickets that were included in the release.


Bugfix/Hotfix Release

  1. Make sure that all pull requests required for the release are merged.
  2. Checkout to release/vX.Y branch.
  3. Create a new branch with the name `tmp-release-vX.Y.Z`, where X.Y.Z - a new version of the module
  4. Cherry-Pick required commits.
  5. Run mvn clean verify to check that all tests are passed.

  6. Update NEWS with changes that are included in the release (use the template below).

    ## vX.Y.Z YYYY-mm-DD
    ### Bug fixes
    * Description ([ISSUE_NUMBER](https://issues.folio.org/browse/ISSUE_NUMBER))
    
    ### Tech Dept
    * Description ([ISSUE_NUMBER](https://issues.folio.org/browse/ISSUE_NUMBER))
    
    ### Dependencies
    * Bump `LIB_NAME` from `OLD_VERSION` to `NEW_VERSION`
    * Add `LIB_NAME` `2.7.4`
    * Remove `LIB_NAME`
  7. Commit changes with the commit message 'Update NEWS'.
  8. Run mvn release:clean release:prepare or use the built-in Maven plugin to prepare the release.
    1. Release version - X.Y.Z
    2. Release tag - vX.Y.Z
    3. New version - vX.Y.Z+1-SNAPSHOT
  9. Push the branch and the tag to the repository and create a pull request. Wait for the review of your PR and merge it (without squash).
  10. Go to Jenkins https://jenkins-aws.indexdata.com/job/folio-org/job/<module-name>/view/tags/ and run the pipeline for the new tag.
  11. After the pipeline job is successfully finished you can create a release on GitHub.
  12. Notify the community in the release channel about the release.
  13. Close the release ticket:
    1. Set Fix Version = X.Y.Z (if it does not exist ask SM or TL to create it)
    2. Set Release 
    3. Set Fix Version to all tickets that were included in the release.
  • No labels