| //// |
| 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!) |