This is a rough description of the OpenCMIS release process.
In its current state it covers all steps, but not all details. It should be refined and updated with every release. Parts of could even be scripted.
Make sure you have the following pre-requisite software.
Pre-requisite credentials.
org/apache/chemistry
in the Maven Repository (all committers should have those).<home>/.m2/settings.xml
file.Prepare JIRA.
Get a fresh check out of the source code: svn co https://svn.apache.org/repos/asf/chemistry/opencmis/trunk/
Run build and tests.
mvn clean install
mvn apache-rat:check
mvn site:site -Papache-release
Prepare relase.
mvn release:prepare
chemistry-opencmis-<versionNumber>-RC1
for release candidates. The tag will then have to be renamed upon successful vote.Perform release.
mvn release:perform
<stagingRepoRelativeDir>
(e.g. orgapachechemistry-1009/org/apache/chemistry/opencmis)Build and deploy site.
<opencmisReleaseCheckoutDir>/target/checkout
mvn site:site -Papache-release
<deployedSiteDir>
(file://...)mvn site:deploy -Papache-release
svn co https://svn.apache.org/repos/asf/chemistry/site/trunk/
<websiteDir>/content/java/<versionNumber>/maven
<deployedSiteDir>
to <websiteDir>/content/java/<versionNumber>/maven
svn add <versioNumber>
svn commit -m 'adding <versionNumber> site docs'
http://chemistry.staging.apache.org/java/<versioNumber>/maven/
Create RC Dist packages.
svn co https://dist.apache.org/repos/dist/dev/chemistry/
mkdir chemistry-opencmis-<versionNumber>-RC1
<chemistryReleaseCheckoutDir>/chemistry-dist/release-scripts/deploy-dist.sh <versionNumber> <stagingRepoRelativeDir>
svn add *
svn commit -m 'publishing packages for OpenCMIS <versionNumber>'
https://dist.apache.org/repos/dist/dev/chemistry/chemistry-opencmis-<versionNumber>-RC1/
Send release vote to dev@chemistry.apache.org:
Subject: [VOTE] Release Apache Chemistry <versionNumber> - RC1 Hi all, OpenCMIS <versionNumber> is ready for voting. <... add release highlights here ...> You can find the commodity packages release candidate artifacts (for final distribution at apache.org/dist) at [1]. The full set of Maven artifacts (for distribution at repository.apache.org and Maven Central) is staged at [2]. Sources tag can be found at [3]. Maven generated javadoc/test reports are being deployed at [4]. For detailed release notes check Jira at [5] (unresolved issues will be pushed to the next release). The vote is open for 72 hours and passes if a majority of at least three +1 Chemistry PMC votes are cast. Please cast your votes! [ ] +1 Release packages as Apache Chemistry OpenCMIS <versionNumber> [ ] -1 Do not release this package because... Thanks for taking the time to vote! [1] https://dist.apache.org/repos/dist/dev/chemistry/chemistry-opencmis-<versionNumber>-RC1/ [2] https://repository.apache.org/content/repositories/<path>/org/apache/chemistry/opencmis/ [3] http://svn.apache.org/repos/asf/chemistry/opencmis/tags/chemistry-opencmis-<versionNumber>-RC1/ [4] http://chemistry.staging.apache.org/java/<versionNumber>/maven/ [5] https://issues.apache.org/jira/issues/?jql=project%20%3D%20CMIS%20AND%20status%20in%20(Resolved%2C%20Closed)%20AND%20fixVersion%20%3D%20%22OpenCMIS%201.0.0%22%20ORDER%20BY%20priority%20DESC
Tally and send [VOTE][RESULT] - PASSED
or iterate from the beginnig until a successful vote is reached
Promote repository at https://repository.apache.org/#stagingRepositories so it will be synced to Maven Central.
Publish packages.
svn co https://dist.apache.org/repos/dist/release/chemistry/opencmis
svn export https://dist.apache.org/repos/dist/dev/chemistry/chemistry-opencmis-<versionNumber>-RC1 <versionNumber>
svn add <versionNumber>
svn commit -m 'added OpenCMIS <versionNumber> release to dist'
Update the web site.
svn co https://svn.apache.org/repos/asf/chemistry/site/trunk/
<websiteDir>/content/java/opencmis.mdtext
<websiteDir>/content/java/download.mdtext
<websiteDir>/content/index.mdtext
<websiteDir>/content/java
: svn propset svn:externals '../java/<versionNumber>/maven/apidocs/ javadoc' .
svn commit -m 'updated web site for OpenCMIS <versionNumber>'
Publish site.
Remove old packages: svn rm https://dist.apache.org/repos/dist/release/chemistry/opencmis/<versionNumber-1> -m 'removed previous release'
Close version in JIRA.
Rename tag: svn mv https://svn.apache.org/repos/asf/chemistry/opencmis/tags/chemistry-opencmis-<versionNumber>-RC1 https://svn.apache.org/repos/asf/chemistry/opencmis/tags/chemistry-opencmis-<versionNumber> -m 'renamed tag after successful release'
.
Update DOAP file.
Wait 24 hours and then send email to announce@apache.org (with GPG signature):
Subject: [ANNOUNCEMENT] Apache Chemistry OpenCMIS <versionNumber> released Hi, the Apache Chemistry OpenCMIS PMC is pleased to announce the release of Apache Chemistry OpenCMIS <versionNumber>. What is OpenCMIS? ----------------- OpenCMIS is a collection of Java libraries, frameworks, and tools around the OASIS CMIS (Content Management Interoperability Services) specification [0]. OpenCMIS <versionNumber> ------------------------ <... add release highlights here ...> Download OpenCMIS <versionNumber> --------------------------------- OpenCMIS <versionNumber> download packages are available on the Apache mirrors [1] or you can get them via the ASF Maven repository [2] as described at [3]. Refer to https://chemistry.apache.org for OpenCMIS documentation and code samples. Thanks, The Apache Chemistry OpenCMIS Dev team [0] https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=cmis [1] https://chemistry.apache.org/java/download.html [2] https://repository.apache.org/index.html#nexus-search;gav~org.apache.chemistry.opencmis~ [3] https://chemistry.apache.org/java/developing/dev-use-with-maven.html