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.
...