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.

The release version in the documentation below is identified as X.Y.Z , replace this in the instructions with the current release (eg 4.0.1).
X is the major point version, Y is the minor point version, and Z is the maintenance point.

The previous release version (snapshot previous documentation) is identified as A.B , replace this with the previous release (eg 4.0).

 

Table of Contents

Before Release Day

...

If any online resources have been modified or added to during the release, these must be updated.

Release Day (Brief)

Variables Used

Code Block
ORG=fcrepo4
REPO=fcrepo-module-auth-webac
CURR=4.5.0
NEXT=4.5.1-SNAPSHOT

Github Release

Code Block
git clone git@github.com:$ORG/$REPO.git
cd $REPO
git checkout rc-$CURR
mvn release:clean
# if that fails, do "git revert HEAD" and retry
# if it can't find an old fcrepo4 snapshot, build an old version to populate it locally
mvn release:prepare -DreleaseVersion=$CURR -DdevelopmentVersion=$NEXT \
-DautoVersionSubmodules=true -DpushChanges=false
# resolve dependencies and set main versions to $CURR and dev versions to $NEXT
# n.b., GPG passphrase will not be masked in terminal
rm -rf ~/.m2/repository/org/fcrepo
git checkout $REPO-$CURR # detached head state
mvn clean install
git push origin rc-$CURR:release-$CURR
git push origin --tags
  • Go to https://github.com/fcrepo4/$REPO/releases/tag/$REPO-$CURR
  • Click Edit tag, and update title to "Release $CURR"
  • If appropriate, attach binaries and checksums at the bottom
  • Click Publish Release

Sonatype Release

Code Block
mvn release:perform -DperformRelease -Dgoals=deploy
# as before, GPG passphrase will not be masked in terminal
  • Go to https://oss.sonatype.org/index.html#nexus-search;gav~org.fcrepo~$REPO and log in
  • Click Staging Repositories in left navigation

  • Search for "fcrepo" in upper right search box (project will not have $REPO in title)

  • Select repository and verify that $REPO is present in the Content tab
  • Click Close, then Refresh, then Release

 

Github Pages

Code Block
mvn site-deploy -DskipTests
# go to http://$ORG.github.io/$REPO/site/$CURR/fcrepo/$REPO/ to verify

For fcrepo4/fcrepo4 and fcrepo4-exts/fcrepo-camel, manually add links to the current releases.  The easiest way to do this is to search for an old version number and copy/update for the current release.

Merge With Master

Code Block
git checkout master
git merge rc-$CURR
git push origin master

Ontologies

Ontologies are released on their own schedule and do not need to be released.  But they should be tagged with the current version when a release is performed, to make it easy to identify the version of the ontology that each release was using.

Code Block
## ontologies
CURR=4.5.0
ORG=fcrepo4
REPO=fcrepo-webac-ontology
git clone git@github.com:$ORG/$REPO
cd $REPO
git tag -a "$REPO-$CURR" -m "$REPO-$CURR" # except fcrepo4/ontology should be fcrepo-ontology-$CURR
git push --tags

 

Release Day (Notes and Explanations)

Determine which modules will be released.

...