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.versioninpom.xmlto 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 sitethis 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:performWhen 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
.xarfile 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.