This is an automated email from the ASF dual-hosted git repository. royteeuwen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-committer-cli.git
commit 209fa6967af7465f2b65963dc8de8bbdda10bf87 Merge: 49d8ae7 2276fec Author: Roy Teeuwen <[email protected]> AuthorDate: Fri Aug 14 21:14:48 2026 +0200 Merge pull request #41 from apache/issue/SLING-13289 SLING-13289 - Push Sling Committer CLI image to DockerHub .github/workflows/docker-push.yml | 56 +++++++++++++++++++++++++++++++++++++++ README.md | 30 ++++++++++----------- pom.xml | 14 ++++++++-- 3 files changed, 83 insertions(+), 17 deletions(-) diff --cc README.md index 9e906f3,500aa63..07152c3 --- a/README.md +++ b/README.md @@@ -188,13 -188,12 +188,13 @@@ After `release:perform` has staged the automatically from your ASF id: if you are a PMC member the email says you will copy the release to the dist directory yourself; otherwise it asks a PMC member to perform the dist upload: - docker run --env-file=./docker-env apache/sling-cli release tally-votes --repository=$STAGING_REPOSITORY_ID --execution-mode=AUTO + docker run --env-file=./docker-env apache/sling-committer-cli release tally-votes --repository=$STAGING_REPOSITORY_ID --execution-mode=AUTO 5. **Finalize** the release (post successful vote). This runs, in order: promote to Maven Central, - create the next Jira version, release the current Jira version, and update the Apache Reporter: + create the next Jira version, release the current Jira version, update the Apache Reporter, and + update the Sling website: - docker run --env-file=./docker-env apache/sling-cli release finalize --repository=$STAGING_REPOSITORY_ID --execution-mode=AUTO + docker run --env-file=./docker-env apache/sling-committer-cli release finalize --repository=$STAGING_REPOSITORY_ID --execution-mode=AUTO When the current user is detected as a PMC member, `finalize` additionally publishes to `dist.apache.org` (requires `subversion`, which is bundled in the image). The previous version to @@@ -206,34 -205,9 +206,34 @@@ PMC membership is determined from your ASF id (via Whimsy). A non-PMC committer's `finalize` skips the dist upload and the `tally-votes` result email asks a PMC member to perform it. + The last step updates the website: it adds the release to `content/releases.md` and bumps the + matching entries in `templates/downloads.tpl`, then commits and pushes to `sling-site` over gitbox + using the same ASF credentials. Entries are matched on the *artifact id* rather than on the display + name, because the two often differ (*Tracer* is listed as *Log Tracer*) and one release can own + several entries. Only entries on the same major version are touched, so a maintenance release of an + older line (e.g. Resource Resolver 1.12.x while the page lists 2.x) never downgrades the page. If an + artifact has no entry at all it is reported so it can be added by hand, which is also what the + release guide asks for when a brand new module is released. + + The CLI keeps its own checkout of `sling-site` and never looks for one you may already have. It + defaults to `$HOME/.sling-cli/sling-site` — inside the container `/root/.sling-cli/sling-site`, which + is discarded with the container unless you mount it — and can be pointed elsewhere with + `--site-checkout`. Use a directory dedicated to this rather than a clone you work in: `master` is + checked out and hard-reset before each run, so anything uncommitted there is discarded, and the + release is then committed and pushed from it. + + docker run --env-file=./docker-env \ + -v "$HOME/.sling-cli:/root/.sling-cli" \ + apache/sling-cli release finalize --repository=$STAGING_REPOSITORY_ID --execution-mode=AUTO + + The news page is deliberately *not* part of `finalize` — the release guide only asks for a news entry + when a release warrants an announcement. Run it by hand for those: + + docker run --env-file=./docker-env apache/sling-cli release update-news --release "Apache Sling Foo 1.2.0" --link /documentation/bundles/foo.html --execution-mode=AUTO + If the vote does not pass, **drop** the staging repository: - docker run --env-file=./docker-env apache/sling-cli release drop --repository=$STAGING_REPOSITORY_ID --execution-mode=AUTO + docker run --env-file=./docker-env apache/sling-committer-cli release drop --repository=$STAGING_REPOSITORY_ID --execution-mode=AUTO ### Command reference
