Core-contributors should follow these steps when publishing a new release of the documentation app.
- maven requires a valid gpg key associated with your GitHub account to publish a new release, to check your available keys:
gpg --list-keys
- maven also requires
- a nexus account. You can create one at oss.sonatype.org and include your credentials in your maven's
settings.xml
(replacing username and password) - a github account with the according permission to do a github release and include your credentials in your maven's
settings.xml
(replacing username and password)
- a nexus account. You can create one at oss.sonatype.org and include your credentials in your maven's
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>github</id>
<username>USERNAME</username>
<password>PASSWORD</password>
</server>
<server>
<id>sonatype-nexus-snapshots</id>
<username>USERNAME</username>
<password>PASSWORD</password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username>USERNAME</username>
<password>PASSWORD</password>
</server>
</servers>
</settings>
- You can perform a dry-run of the release procedure by executing
$ mvn -DdryRun=true release:prepare
- Dry-runs still create files that will interfere with regular releases. You should therefore clean up afterwards by running:
$ mvn release:rollback
-
Merge outstanding and reviewed PRs.
-
Set the
exist.version
inpom.xml
to prevent users of older exist releases from installing the wrong documentation locally:
<exist.version>4.1.0</exist.version>
Since the canonical version needs to run on exist-db.org please make sure that the main server can actually run the latest documentation, and raise an issue if necessary.
- To generate the release notes run:
$ mvn site
this will generate a github-report.html
in target/site
you can copy the list of changes into xar-assembly.xml
describing which articles changed and how.
-
Follow the instructions from Building from source
-
To create a release run:
$ mvn release:prepare
$ mvn release:perform
When prompted to pick a version number for the release, remember to mirror the major version of the current eXist-db release. So for exist-db version 3.x.x
the documentation's version should be 3.y.y
. The minor and patch numbers remain independent of each other.
You can find the EXPath Application Package (.xar
file) for the release in the /target
directory
Release are published in two locations:
-
GitHub: Repo and releases
- commit and push as usual
- maven should have automatically created a release tag, update it by copying the release notes from
xar-assembly.xml
- check to make sure that the latest
.xar
file is attached to the GitHub release
-
exist-db.org: App repo and documentation homepage
- Inform the exist-db.org admins that the documentation app should be deployed on the server.
- Add documentation app to the public application repository.