blob: 065744e205a2765398c4281eb99b6bff67ecbd9e [file] [log] [blame]
////
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
////
= Release process
[WARNING]
====
In the code examples below, assuming the version to be released is `7.8.0`.
====
== Stage the release artifacts
. Checkout the release branch: `git checkout -B release/7.8.0 origin/master`
. Perform and commit following changes:
.. Set the `revision` property to `7.8.0` in xref:pom.xml[`pom.xml`]
.. Update the version and date in xref:CHANGELOG.adoc[`CHANGELOG.adoc`]
. Make sure that `./mvnw clean verify` succeeds if not, commit necessary fixes
. Push the `release/7.8.0` branch
. Make sure the associated https://github.com/apache/logging-log4j-tools/actions[GitHub Actions workflow] succeeds:
.. **Signed artifacts** are uploaded to the _Staging Repositories_ in https://repository.apache.org/[repository.apache.org]
.. **Signed sources** are uploaded as GitHub Actions workflow artifacts
+
If not, commit necessary fixes, push, and repeat.
. _Close_ the repository in https://repository.apache.org/[repository.apache.org]
. Commit _the signed sources_ (e.g., `apache-log4j-tools-7.8.0-src.zip` and `apache-log4j-tools-7.8.0-src.zip.asc`) to https://dist.apache.org/repos/dist/dev/logging/log4j[dist.apache.org/repos/dist/**dev**/logging/log4j] Subversion repository
== Vote the release
Collect release votes via email to `dev@logging.apache.org`
== Publish the release
. _Release_ the repository in https://repository.apache.org/[repository.apache.org]
. In https://dist.apache.org/repos/dist/release/logging/log4j[dist.apache.org/repos/dist] Subversion repository,
.. move the signed sources from `*dev*/logging/log4j` directory to `*release*/logging/log4j`
.. delete files from an earlier release
.. commit changes
. Merge `release/7.8.0` changes to `master`
. Set the revision property to the next development version (e.g., `7.9.0-SNAPSHOT`) in xref:pom.xml[`pom.xml`]
. Update xref:CHANGELOG.adoc[`CHANGELOG.adoc`] accordingly
. Push the `master` branch
. Once the artifacts are visible in https://central.sonatype.dev/[central.sonatype.dev], https://github.com/apache/logging-log4j-tools/releases/new[create a new release in GitHub]
.. Use the `v7.8.0` tag created by the GitHub Actions workflow
.. Copy necessary changes from xref:CHANGELOG.adoc[`CHANGELOG.adoc`] (formatting needs to be converted to Markdown!)