Versions Compared

Key

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

This document is intended to be used and kept up to date by the Fedora Release Manager.  It details the steps necessary to perform an official release of Fedora.

 


Table of Contents

Before Release Day

...

NOTE: The value of RC_VERSION will vary for each release. 


Code Block
git checkout <master -or- maintenance-branch>
git pull
git push origin <master -or- maintenance-branch>:${RC_VERSION}-RC

...

Note

Your GPG passphrase may not be masked in terminal.

Expand
titleHave more than one GPG key. Click here to expand...

 If you have more than one personal key on your GPG keyring, you can specify the correct key by adding

Code Block
-Darguments=-Dgpg.keyname=<Your Key ID>

to the above mvn command.

 



Inspect/Verify local updates:

...

Warning

Up until this point, all of the changes made are strictly in your local repository and working directory.  From this point on, the changes you make will be visible to the world and in some cases difficult to back-out of. 

 


Push the changes to Github.

Code Block
git push origin --tags # mvn task relies on the tag, make sure it does not collide with a branch name

 


  • Go to https://github.com/fcrepo4/$REPO/releases/tag/fcrepo-$CURR

  • Click Edit tag, and update title to "Release $CURR"
  • If appropriate, attach binaries and checksums that have been published to Maven Central
    • e.g. http://repo1.maven.org/maven2/org/fcrepo/fcrepo-webapp/5.0.2/
    • Note: The Maven artifact for fcrepo-webapp-<version>-jetty-console needs to be renamed from war to jar.
    • Note: The checksum files should be of the format "[checksum] [filename]" (MacOSX's md5 requires the use of the -r argument to produce the correct format. I.e. md5 -r fcrepo-webapp-5.0.2.war >> fcrepo-webapp-5.0.2.war.md5).
  • Click Publish Release

...

Expand


Info
titleError creating blob: API rate limit exceeded

Github only allows a certain number of requests per hour.  Once that number is hit you'll have to wait an hour before resuming your operation.  The site documentation may exhaust this limit several times.


Info

If you get the following error:

Error creating blob: You have triggered an abuse detection mechanism and have been temporarily 
blocked from calling the API. Please retry your request again later. (403)

You may consider using the patched version of site-maven-plugin: https://github.com/github/maven-plugins/commit/d4ccf887098b18e9a23b7316ecf96348a2c73d0a

Or a 405 error,

You may consider using the patched version of site-maven-plugin: https://github.com/github/maven-plugins/commit/09b282544a1208be63bd012c2cdfd4d58e3f2d22


Info

If you use two factor authentication with Github and have a Personal Access Token setup for Maven. Ensure that this token has the repo and user:email permissions.


Info

If you get the following error:


Code Block
Failed to execute goal com.github.github:site-maven-plugin:0.12:site (github) on project fcrepo-module-auth-rbacl: Error creating commit: Invalid request.
[ERROR] 
[ERROR] For ‘properties/name’, nil is not a string.
[ERROR] For ‘properties/name’, nil is not a string. (422)

You will need to ensure that the "Name" field of your github profile is not null. Fix it by going to github.com and updating your profile.



Info
titleError creating blob: cannot retry due to server authentication, in streaming mode

This is an authentication error, check your password or token in your Maven settings.xml file. If you use 2-factor you can create a new token with the following permissions notifications, public_repo, repo:status, repo_deployment, user:email


Push Release Branch to Maintenance

The release branch has changes made since code freeze. It also contains the update to the version numbers for future development.

...

Ensure that your commit history matches the release branch's commit history, except for the two additional commits.
 

  1. Changing from SNAPSHOT version to release version. Something like [maven-release-plugin] prepare release $REPO-$CURR
  2. Changing from release version to next development version. Something like [maven-release-plugin] prepare for next development iteration

 


Info
fcrepo-vagrant is an exception to the above rule. The master branch of fcrepo4-exts/fcrepo-vagrant is tied to the last full release version. So you don't update the Fedora version to the new SNAPSHOT version but instead leave it at the just released (${CURR}) version.

...


If this appears correct, you can push your release branch on to the maintenance branch.

...