This document describes how Apache Shindig's committers will make a release.
Notes:
The starting point will be a consensus in the developer community about the release and the JIRA issues to include (or not) in the next release. Typically, the discussion will be on the Dev List.
Duration: 20 min
Now that everybody in the community is happy to push a release, the release manager needs to verify the source code before to continue:
Next, prepare the release by calling Maven:
mvn release:clean -Papache-release mvn release:prepare -Papache-release
Notes:
mvn release:prepare -Papache-release -Dusername=username -Dpassword=password
Duration: 30 min
Call Maven to publish the generated artifacts:
mvn release:perform -Papache-release
Note: All artifacts will be signed and pushed to https://repository.apache.org/.
You can use the following command to download all the artifacts from the repository.
wget -r -H -t1 -nd -N -np -erobots=off -i https://repository.apache.org/content/repositories/orgapacheshindig-{repo-id}/org/apache/shindig/
Close the staging repository as described in the points 5 and 6 of the Maven Release Process.
Duration: 20 min
Call Maven to publish the generated technical site:
cd target/checkout mvn site -Preporting mvn site:deploy
Optional: Update the current website.
Start a release vote on the Dev List. The vote must be aligned with the Apache vote process.
Typically, the mail should include the Jira release notes, the staging repository URL and the site URL, for instance:
To: "Shindig Developers List"Subject: [VOTE] Release Apache Shindig version X.Y Hi, We solved N issues: https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=XXX&styleName=Html&projectId=12310741 There are still a couple of issues left in JIRA: https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310741&status=1 Staging repo: https://repository.apache.org/content/repositories/shindig-staging-[YOUR REPOSITORY ID]/ Web site: http://shindig.apache.org/ Vote open for 72 hours. [ ] +1 [ ] +0 [ ] -1
Promote the release as described in the points 10 of the Maven Release Process.
Also, update Jira to specify the release date.
Update the download page.
Create an announcement similar to:
From: YOUR_APACHE_USERNAME@apache.org To: announce@apache.org, dev@shindig.apache.org Subject: [ANN] Apache Shindig X.Y Released The Apache Shindig team is proud to announce the release of Apache Shindig, version X.Y-incubating. Apache Shindig is a JavaScript container and implementations of the backend APIs and proxy required for hosting OpenSocial applications. http://shindig.apache.org/ Enjoy, -The Apache Shindig Team
In order to publish the release artifacts to the Apache Maven servers you need to configure your Maven settings so Maven knows your Apache credentials. Follow the documentation here to configure Maven correctly.
The PHP version of Shindig has been moved to the attic, this is only kept here for legacy reasons. If you are a Java developer who is building a Shindig release chances are you do not have the necessary PHP dependencies installed on your machine. You will need to install and configure PHPUnit and mcrypt (as well as PHP) in order to run the PHP portion of the Shindig build. The links below are useful for Mac users, please add links for other OSes as people build on those platforms.