Child pages
  • Releasing a new version of the Sling Starter
Skip to end of metadata
Go to start of metadata

These instructions complement those from http://sling.apache.org/documentation/development/release-management.html, which are geared more towards bundle releases, while releasing the Launchpad is a bit more involved.

Prepare the Starter release

Since the Launchpad is a collection of bundles, it is required for each bundle included it in to be a release, rather than a SNAPSHOT. We currently have only releases in the starter, so this should not be an issue.

Create a new and noteworthy page

A new and notheworthy page outlines some of the significant changes done since the last release. The tooling/release/launchpad-comparator Java project allows generating a changelog between two versions of the Sling Launchpad and can be used to extract the new and noteworthy items.

Example pages:

Deploy the new API docs

For each version we deploy the aggregated javadoc for for the Sling bundles contained in the launchpad. The javadoc  can be generated using the generate_javadoc_for_release.sh script.

Deploy the docker image on DockerHub

Since Sling 8 release we also provide a docker image. The Dockerfile can be found in the sling-org-apache-sling-starter-docker repo. For instructions on deploying to DockerHub, see the /repos/private/pmc/sling SVN repository.

Note that, like for any Apache artifacts, the sling-org-apache-sling-starter-docker module must be released before deploying binaries (like the Docker image) to public places.

Bertrand Delacretaz says: I like the way https://hub.docker.com/r/apache/couchdb/ just describes their Docker image as "Unofficial convenience binaries for CouchDB, the RESTful document-oriented database" and redirects people to their GitHub repository at https://github.com/apache/couchdb-docker for more info. It makes it clear what the role of that image is and might help bring people closer to the community. We might want to do the same eventually, next time we make changes to the image description.

Update the Maven archetypes

The Maven archetypes that wrap the Sling starter should be updated to the latest version and released.

Update local references to the old starter

A number of projects in the sling source tree typically reference the Sling starter mostly for testing. These projects should be updated to either reference the latest release, if they use it for testing additional sets of bundles, or to the latest SNAPSHOT, if they are used to test the current launchpad, like launchpad/testing or launchpad/testing-war .

Change version of dependant projects

The following projects should keep their versions in sync with the main launchpad:

  • launchpad-testing
  • launchpad-testing-war

For future releases we should consider releasing the launchpad/testing and launchpad/testing-war projects ( and dependant test projects ) alongside the main launchpad project, so that the test state is recorded as well.

Clean up starter documentation

There may be references to old features of the starter at https://sling.apache.org/documentation/the-sling-engine/the-sling-launchpad.html, so make sure that this is up to date.

Announce release

Send an email to users@sling.apache.org and announce@apache.org . For some examples, see [ANN] New Release of Apache Sling 6 and [ANN] Apache Sling version 8 released .

See also

  1. Launchpad 8 release tracking task: SLING-5095 - Getting issue details... STATUS
  2. dev@sling.apache.org: Sling 8 release checklist
  3. dev@sling.apache.org: Launchpad 7 release?
  4. Towards Sling 6
  5. dev@sling.apache.org: Sling 6 release plan
  • No labels