Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Update the Release Notes. Create the appropriate release page as a child of the Release Notes page for a minor release or the relevant minor release page for a patch release.
    1. Create next minor release version (if not present)
    2. Release JIRA version and move all unresolved issues to next relevant release (so, if releasing 4.1.0, push unresolved issues to 4.1.1).
    3. Review the JIRA issues of type Bug affecting the prior release.  If they weren't resolved for this release, then they probably also affect this new release.  Update their affectsVersion to include this release so they'll appear in the known-issues listing for this release.
    4. Create next minor release version (if not present)
    5. Copy last minor release wiki page and change versions, copy/paste release notes.
    6. Desirable: summarize the machine-generated release notes with something human-readable intended to help adopters understand what they're looking at and why and how they ought to upgrade to it.
  2. Update the NOTICE file and license file headers
    1. NOTICE file update 

      Code Block
      mvn notice:generate
      git add NOTICE
      git commit
    2. License file header 

      Code Block
      mvn license:format
      git add <files that were changed>
      git commit
  3. Build & Deploy the Maven artifacts & site

    Code Block
    mvn release:prepare
    mvn release:perform
    
    1. Note: The tag should be uportal-<major>.<minor>.<patch>[-M<milestoneVersion>|-RC<releaseCandidateVersion>]

  4. Build the quickstart and source distribution 
    Code Block
    cd target/checkout/assembly
    ant clean prepare-deploy
      

     

  5. TEST THE QUICKSTART
    1. Start the QuickStart and poke around, make sure everything looks good.
    2. Close the release in Sonatype to ensure the pushed Maven artifacts pass checks.  Do this now, so that if they don't pass checks, you don't push a tag of a release that doesn't pass checks.
      1. Go to https://oss.sonatype.org 
      2. Log in, of course.
      3. Search among Staging Repositories for your username
      4. Select the repository you staged and hit "Close" (the lifecycle is Open --> Closed --> Released).
    3. If it checks out PUSH THE RELEASE TO GITHUB

      Code Block
      $ git push <remote for jasig> <tagname>     # example:  git push jasig uportal-4.0.12
      $ git push <remote for jasig> <branchname>  # example:  git push jasig rel-4-1-patches
    4. If there is a problem roll back the release commits locally, drop the staging repo at sonatype, and fix the problem and start over at step 1

      Code Block
      git reset --hard HEAD~2
  6. Now that the release commits and tags are pushed, the branch being released can and should be un-frozen.  Email uportal-dev@ replying to your FREEZE email announcing the THAW.
  7. Update the developer.jasig.org site by running bamboo with the tag you just created: https://developer.jasig.org/bamboo/browse/UP-RELSITE
    1. Upper right Run --> Run Customized --> set the tag name --> Run

...