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. The release version in the documentation below is identified as The previous release version (snapshot previous documentation) is identified as Before Release DayVerify release privilegesTo make sure release day goes smoothly, you should ensure that:
<settings> ... <servers> ... <server> <id>sonatype-nexus-snapshots</id> <username>your-jira-id</username> <password>your-jira-pwd</password> </server> <server> <id>sonatype-nexus-staging</id> <username>your-jira-id</username> <password>your-jira-pwd</password> </server> </servers> ... </settings> Prepare and distribute test planThe test plan should also be ready prior to code freeze. It should include:
Create release branch and begin final test phaseUpdate online resourcesIf any online resources have been modified or added to during the release, these must be updated. Particularly XSD schema files served at http://www.fedora-commons.org/definitions/1/0/ must be verified. Release DayUpdate the KEYS fileMake sure the KEYS file in subversion is up-to-date with the latest, exported public keys of the committers (and most importantly, the release manager). For more information on this file, see this page. For *nix systems use the following command to add a missing key to the KEYS file: Build and release the final distribution to Maven CentralIn order to build the release make sure that:
Run the following commands to generate and upload all built artifacts to the Sonatype staging repository mvn release:prepare -DdryRun -DreleaseVersion=X.X.X -DdevelopmentVersion=X.X.Y-SNAPSHOT mvn release:clean && mvn release:prepare -DreleaseVersion=X.X.X -DdevelopmentVersion=X.X.Y-SNAPSHOT mvn release:perform Login to https://oss.sonatype.org Find the staging repository, check that it looks good, and "Close" it. Then "Release" it. This will publish the artifacts to the Sonatype releases repository and start the process of syncing them with central. The artifacts may take several hours to reach central. When finished, they'll be available at http://repo1.maven.org/maven2/org/fcrepo. Upload selected artifacts to Sourceforge and verify the distributionUpload all files listed below to the fedora-commons project at sourceforge.net. Follow the pattern established for previous releases, where all files associated with the release reside in a single version numbered folder under https://sourceforge.net/projects/fedora-commons/files/fedora/ The artifacts to be uploaded to Sourceforge, as well as PGP signatures, SHA1 checksums, file sizes, etc., can be found at the central Maven repository search site: http://search.maven.org/#search%7Cga%7C1%7Corg.fcrepo. Files sent to sourceforge and linked directly from the documentation's Download page should include:
For each file, also add a *.asc file, containing the PGP signature for the file, as created by Maven and stored in the central repository. Change the primary download page on sourceforge so it points to the new fcrepo installer jar:
It may take up to five minutes for all the Sourceforge links to be updated. Complete the Duraspace wiki documentation updatesCurrent Fedora Repository Documentation wiki: https://wiki.duraspace.org/display/FEDORA38 At the very minimum, update the following: If this is a new major or minor point release, copy the previous point release documentation to create the current wiki (/FEDORAXY), then update accordingly. Mark the new pages as current, and update the pages in the previous documentation to indicate they are out-of-date. If this is a maintenance point release, create separate child release note pages for each release covered by the documentation (see https://wiki.duraspace.org/display/FEDORA38/Release+Notes for an example). Update any other documentation as needed, per changes/features added with this release. Make sure the license and copyright information is up-to-date with this release. Announce releaseLet Carol Minton Morris (clt6 at cornell dot edu) know that the release is complete and can be announced. Depending on the significance of the release, the announcement will be disseminated in various forms to:
|