----- Apache DirectMemory release process ----- Olivier Lamy ----- 2012-09-12 ----- ~~ Licensed to the Apache Software Foundation (ASF) under one ~~ or more contributor license agreements. See the NOTICE file ~~ distributed with this work for additional information ~~ regarding copyright ownership. The ASF licenses this file ~~ to you under the Apache License, Version 2.0 (the ~~ "License"); you may not use this file except in compliance ~~ with the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, ~~ software distributed under the License is distributed on an ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~~ KIND, either express or implied. See the License for the ~~ specific language governing permissions and limitations ~~ under the License. ~~ NOTE: For help with the syntax of this file, see: ~~ http://maven.apache.org/guides/mini/guide-apt-format.html Apache DirectMemory release process [[1]] Post to the dev list a few days before you plan to do a release [[2]] Your maven setting must contains the entry to be able to deploy. ~/.m2/settings.xml +------------- apache.releases.https +------------- [[3]] Release You should have a GPG agent running in the session you will run the maven release commands(preferred), and confirm it works by running "gpg -ab" (type some text and press Ctrl-D). If you do not have a GPG agent running, make sure that you have the "apache-release" profile set in your settings.xml as shown below. Run the release +------------- mvn release:prepare release:perform -B +------------- GPG configuration in maven settings xml: +------------- apache-release [GPG_PASSWORD] +------------- [[4]] go to https://repository.apache.org and close your staged repository. Note the repository url (format https://repository.apache.org/content/repositories/orgapachedirectmemory-028) +------------- svn co https://dist.apache.org/repos/dist/dev/directmemory directmemory-dev-release cd directmemory-dev-release sh ./release-script-svn.sh version stagingRepoUrl then svn add then svn ci +------------- [[5]] Validating the release +------------- * Download sources, extract, build and run tests - mvn clean package * Verify license headers - mvn -Prat -DskipTests * Download binaries and .asc files * Download release manager's public key - From the KEYS file, get the release manager's public key finger print and run gpg --keyserver pgpkeys.mit.edu --recv-key * Validate authenticity of key - run gpg --fingerprint * Check signatures of all the binaries using gpg +------------- [[6]] Call for a vote in the dev list and wait for 72 hrs. for the vote results. 3 binding votes are necessary for the release to be finalized. example After the vote has passed, move the files from dist dev to dist release: svn mv https://dist.apache.org/repos/dist/dev/directmemory/version to https://dist.apache.org/repos/dist/release/directmemory/ [[7]] Prepare release note. Add a page in src/site/apt/releasenotes/ and change value of \ in parent pom. [[8]] Send out an announcement of the release to: * users@directmemory.apache.org * dev@directmemory.apache.org [[9]] Celebrate !