Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Process changes after 12 is released

...

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.

It is not recommended to group the Sling Starter and other bundles in the same release vote. The Sling Docker images are automatically built on DockerHub when a release tag is created and it a bundle is missing since it is not yet released the build will fail and will need to be manually recovered. It is possible to trigger a new build later on by deleting the release tag and creating it again but it complicates the release process and is therefore not recommended.

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 Starter and can be used to extract the new and noteworthy items. The README file from that project contains all the information needed to generate the changelog.

Additionally, we tag issues that we consider noteworthy with the label Sling-VERSION-ReleaseNotes. For instance, the query for the Sling 11 release notes is  project = SLING AND labels = Sling-11-ReleaseNotes ORDER BY updated DESC .

Example pages:

Update and release the "core" set of artifacts

Although the Sling Starter is composed of just one artifact, we aim to release at least the tests and the Maven archetypes at the same time. We release the tests to capture the state of how Sling worked for that certain release, and the archetypes to allow users to start using them with the latest Starter version from day one.

Currently we release the following artifacts (TBD):

  • Sling Starter
  • Sling Launchpad Testing
  • Sling Launchpad Integration Tests
  • Sling Launchpad Test Services
  • Sling Launchpad Test Fragment
  • Sling Launchpad Test Bundles
  • Starter Content (needs to be updated to point to API docs for the new Starter release)
  • Project Archetype (needs to be updated to reference the new Starter release)
  • Archetype Parent (only if needed for other archetype versions)
  • Bundle Archetype (only if not working with the new Starter release)
  • JCRInstall Bundle Archetype (only if not working with the new Starter release)
  • Initial Content Archetype (only if not working with the new Starter release)

The diagram below shows the projects that were released for Sling 11 and their dependencies. Some unrelated dependencies (blue) were also released as they were used as snapshots. Only one archetype (magenta) was released as the others did not need any changes.

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNameSling 11 release artifacts
simpleViewerfalse
width
diagramWidth678
revision1

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. The script picks up artifacts from the Starter file, and manually adds others which we consider required, such as annotations. Any additional artifacts should be manually added to the script.

After generating the artifacts these should be copied in the sling-site repository, under src/main/jbake/assets/apidocs/sling${VERSION} and referenced from:

  • the sidebar ( src/main/jbake/templates/menu.tpl )
  • the API docs page ( src/main/jbake/content/documentation/apidocs.md )


For Sling 11 the javadoc deployment has failed once with an error similar to "Argument list too long". However, a second build allowed the publish to continue and succeeded. The key is to not invoke Maven with the clean phase, as the progress would be wiped.

Deploy the docker image on DockerHub

Since the 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.

Update the Maven archetypes

. As of the Sling Starter 12 release, the process is automated using DockerHub automated builds . Pushing a tag of the form org.apache.sling.starter-$VERSION  will result in a DockerHub tag of $VERSION  and also in the latest  tag being updated.

There is no direct access to the DockerHub UI. If needed, a set of credentials that can be used to trigger builds are stored in the private Sling PMC area in SVN.

The automated builds setup was configured in

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyINFRA-22832
, with the following rules put in place

sling-build_rules.pngImage AddedThe Maven archetypes that wrap the Sling starter should be updated to the latest version and released.

Update local references to the old starter

...

Clean up starter documentation

The latest version of the Sling Starter is defined in the Sling site by the sling_releaseVersion  variable in src/main/jbake/templates/includes/U.groovy . Once changed, it i recommended to verify it is used, in case usage patterns have changed from the previous version.

Update the Apache Sling Wikipedia page

The page is There may be references to old features of the starter at https://slingen.apachewikipedia.org/documentation/the-sling-engine/the-sling-launchpad.html, so make sure that this is up to wiki/Apache_Sling and we should update at least the latest released version and the corresponding release date.

Announce release

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

See also

  1. Launchpad 8 release tracking task:
    Jira
    serverASF JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keySLING-5095
  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

...