...
Code Block | ||
---|---|---|
| ||
<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>apache.snapshots.https</id> <username>APACHE_USERNAME</username> <password>PASSWORD</password> </server> <server> <id>apache.releases.https</id> <username>APACHE_USERNAME</username> <password>PASSWORD</password> </server> </servers> </settings> |
Cutting a Release Candidate
Cutting a release candidate involves a two steps. First, we use the Maven release plug-in to create a release commit (a single commit where all of the version files have the correct number) and publish the code associated with that release to a staging repository in Maven. Second, we check out that release commit and package binary releases and documentation.
...
Create and Stage a Release Candidate
Create / update CHANGES.txt
CHANGES.txt
...
captures all the patches that have made it into this release candidate.
The new CHANGES.txt can be generated using this script.
...
Auditing a Staged Release Candidate
The process of auditing release has been automated via this release audit script.
- Find the staging repository in Apache Nexus to which the artifacts were uploaded to.
- Configure the script by specfiying the version number to audit, the key ID of the signing key, and the URL to staging repository.
- This script has to be run from the parent directory for the script.
- Make sure "sbt" is installed.
The release auditor will test example builds against the staged artifacts, verify signatures, and check for common mistakes made when cutting a release.
Calling a vote on the Release Candidate
...
If a release candidate does not pass, it is necessary to roll back the commits which advanced Spark's versioning.
Code Block language bash # Checkout the release branch from Apache repo # Delete earlier tag. If you are using RC-based tags (v0.9.1-rc1) then skip this. $ git tag -d v0.9.1 $ git push origin :v0.9.1 # Revert changes made by the Maven release plugin $ git revert HEAD --no-edit # revert dev version commit $ git revert HEAD~2 --no-edit # revert release commit $ git push apache HEAD:branch-0.9
...
Finalizing the
...
Release
Performing the Final Release in Nexus
...