diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1f9bd374..83e0cd15 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,5 +55,9 @@ jobs: if: github.repository == 'apache/logging-log4j-tools' && startsWith(github.ref, 'refs/heads/release/') uses: apache/logging-parent/.github/workflows/deploy-release-reusable.yml@main secrets: inherit + # Write permissions to allow the Maven `revision` property update, changelog release, etc. + permissions: + contents: write with: project-name: log4j-tools + distribution-attachment-count: 2 diff --git a/RELEASING.adoc b/RELEASING.adoc index 82568197..0acbb375 100644 --- a/RELEASING.adoc +++ b/RELEASING.adoc @@ -43,20 +43,29 @@ In the code examples below, assuming the version to be released is `7.8.0`. == Stage the release -. Checkout the release branch: `git checkout -B release/7.8.0 origin/main` -. Perform and commit following changes: -.. Set the `revision` property to `7.8.0` in xref:pom.xml[`pom.xml`] -.. For release notes -... Run `./mvnw -N -P changelog-release` and verify `src/changelog` content (e.g., `.release-notes.md.ftl`) -... Run `./mvnw -N -P changelog-export` and verify `target/release-notes` content -. Make sure that `./mvnw clean verify` succeeds – if not, implement necessary fixes -. Commit and push the `release/7.8.0` branch -. Make sure the associated https://github.com/apache/{repository-name}/actions[GitHub Actions workflow] succeeds: +. Create and push the release branch: ++ +[source,bash] +---- +git fetch -p +git checkout -B release/7.8.0 origin/main +git push origin release/7.8.0 +---- +. Verify that the associated https://github.com/apache/{repository-name}/actions[GitHub Actions workflow] succeeds: +.. `revision` property in `pom.xml` is updated +.. Changelog is released (i.e., `src/changelog/7.8.0` folder is populated) .. *Signed artifacts* are uploaded to the _Staging Repositories_ in https://repository.apache.org/[repository.apache.org] -.. *Signed distribution and its checksum* (e.g., `apache-{project-name}-7.8.0.{zip,.zip.asc,.zip.sha512}`) are uploaded to https://dist.apache.org/repos/dist/dev/logging/log4j[dist.apache.org/repos/dist/**dev**/logging/log4j] Subversion repository (along with auxiliary files; email texts, etc.) +.. *Signed distribution and its checksum* (e.g., `apache-{project-name}-7.8.0-{bin,src}.{zip,.zip.asc,.zip.sha512}`) are uploaded to https://dist.apache.org/repos/dist/dev/logging/log4j[dist.apache.org/repos/dist/**dev**/logging/log4j] Subversion repository (along with auxiliary files; email texts, etc.) + If not, commit necessary fixes, push, and repeat. + ++ +[TIP] +==== +GitHub Actions workflow is idempotent. +You can iterate on the `release/7.8.0` branch to perfect it. +==== . _Close_ the repository in https://repository.apache.org/[repository.apache.org] == Vote the release @@ -65,7 +74,8 @@ If not, commit necessary fixes, push, and repeat. + [WARNING] ==== -Double-check the cited https://repository.apache.org[repository.apache.org] URL in the generated email, it might have changed! +**Fix the cited https://repository.apache.org[repository.apache.org] URL** in the generated email! +It changes after every Nexus deployment. ==== + [WARNING] @@ -128,11 +138,6 @@ Once the artifacts are visible in https://central.sonatype.dev/[central.sonatype + [WARNING] ==== -Double-check the cited https://repository.apache.org[repository.apache.org] URL in the generated email, it might have changed! -==== -+ -[WARNING] -==== Make sure your email is sent in plain text, that is, https://infra.apache.org/contrib-email-tips#nohtml[no HTML]! If you are using GMail, simply enable the _"Plain text mode"_ while composing your message. ==== diff --git a/log4j-tools-parent/pom.xml b/log4j-tools-parent/pom.xml index f8daae43..eb2dfb9a 100644 --- a/log4j-tools-parent/pom.xml +++ b/log4j-tools-parent/pom.xml @@ -116,32 +116,4 @@ - - - - - - org.codehaus.mojo - flatten-maven-plugin - ${flatten-maven-plugin.version} - - true - resolveCiFriendliesOnly - - - - flatten-revision - - flatten - - process-resources - - - - - - - diff --git a/pom.xml b/pom.xml index 8c69e4da..9f35d029 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ org.apache.logging logging-parent - 1.10.0-SNAPSHOT + 10.0.0-SNAPSHOT org.apache.logging.log4j @@ -43,20 +43,6 @@ 2022 - - Apache Software Foundation - https://apache.org - - - - - Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0.txt - repo - A business-friendly OSS license - - - @@ -139,20 +125,6 @@ 0 - - 6.6.1.202309021850-r - - - 1.4 - 2.21.1 - 1.12.0 - 1.5.0 - 0.4.0 - 3.0.0 - 1.0.1 - 4.7.3.5 - 1.1.0 - - ${project.build.directory} - - - - - org.apache.maven.plugins - maven-plugin-plugin - ${maven-plugin.version} - - - - com.github.spotbugs - spotbugs-maven-plugin - ${spotbugs-maven-plugin.version} - - - - - - - org.apache.rat - apache-rat-plugin - - true - - **/target/**/* - .java-version - .mvn/jvm.config - **/*.txt - - .idea/**/* - **/*.iml - - .github/ISSUE_TEMPLATE/*.md - .github/pull_request_template.md - - - - - - check - - verify - - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - - - enforce-upper-bound-deps - - enforce - - - - - - - - - - - - com.github.spotbugs - spotbugs-maven-plugin - - - - com.h3xstream.findsecbugs - findsecbugs-plugin - ${findsecbugs-plugin.version} - - - - - - default-spotbugs - - check - - verify - - - - - - org.codehaus.mojo - xml-maven-plugin - ${xml-maven-plugin.version} - false - - - - validate - - - - - src/changelog - **/*.xml - http://logging.apache.org/log4j/changelog - https://logging.apache.org/log4j/changelog-0.1.1.xsd - true - - - - - - - - - - - - - changelog-export - - log4j-changelog:export - - - org.apache.logging.log4j - log4j-changelog-maven-plugin - ${log4j-changelog-maven-plugin.version} - false - - ${project.build.directory}/release-notes - - - - - - - - - - - - - - - changelog-release - - log4j-changelog:release - - - org.apache.logging.log4j - log4j-changelog-maven-plugin - ${log4j-changelog-maven-plugin.version} - false - - ${revision} - - - - - - - - - - distribution - - - - log4j-changelog:export bsh:run - - - - - - org.apache.logging.log4j - log4j-changelog-maven-plugin - ${log4j-changelog-maven-plugin.version} - - ${project.build.directory}/release-notes - - - - - - - - - - - - com.github.genthaler - beanshell-maven-plugin - ${beanshell-maven-plugin.version} - - - - - - org.eclipse.jgit - org.eclipse.jgit - ${org.eclipse.jgit.version} - - - - - - - - - - - - - - deploy - - - true - true - true - true - true - - - - - deploy - - - - - org.simplify4u.plugins - sign-maven-plugin - ${sign-maven-plugin.version} - - - - sign - - - - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - - jar-no-fork - - - - - - - - - - - - -