Child pages
  • Releasing a new version of the Sling Launchpad
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 Launchpad 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. It is not necessary to perform new releases for all SNAPSHOT bundles ; instead, we can roll back to the previous release if the changes made after the release are not important enough.

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 page: https://sling.apache.org/news/sling-launchpad-8-released.html .

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 tooling/release/generate_javadoc_for_release.sh script.

Deploy the docker image on DockerHub

For the Launchpad 8 release we are adding a docker image. The Dockerfile can be found in launchpad/docker/, see the README.txt file in that folder for instructions on building and pushing the image to DockerHub.

Update the Maven archetypes

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

Update local references to the old launchpad

A number of projects in the sling source tree typically reference the Sling launchpad, 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:

  • the main reactor pom
  • 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 launchpad documentation

There may be references to old features of the launchpad 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 - Release Sling 8 Resolved
  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