Daniel Gruno stated in INFRA-23996 that they will implement the ticket in a
couple of days, I will wait for a week.

You can go ahead and merge your changes with necessary `changes.xml`
modifications, just like what we have done before. I will take care of
resolving `changes.xml`-related merge conflicts myself.

On Thu, Dec 29, 2022 at 8:21 AM Ralph Goers <ralph.go...@dslextreme.com>
wrote:

> Volkan,
>
> Please do not wait to release log4j-tools.  I am already holding off
> adding more changelog entries so as to avoid creating more work when the PR
> is merged.  As far as I can tell there is no requirement that log4j-tools
> MUST be released via CI.
>
> I really would have liked to have all of this done already as this would
> have been an ideal time to release 2.19.1.
>
> Ralph
>
> > On Dec 28, 2022, at 6:34 PM, Matt Sicker <m...@musigma.org> wrote:
> >
> > This sounds amazing! Thanks for championing this effort! For signing,
> there’s some project out there that lets you use OIDC for signing things
> and keeping a sort of certificate transparency log so that you can verify
> that not only was an artifact signed by a valid signature, but it’s also
> done by the expected key for a particular release. See
> https://www.sigstore.dev/ for details. I’m not sure if it works with GPG
> keys or Maven or anything, but it could be a useful basis for further
> release automation in the future (even if it’s something more custom to the
> ASF).
> > —
> > Matt Sicker
> >
> >> On Dec 28, 2022, at 14:42, Volkan Yazıcı <vol...@yazi.ci> wrote:
> >>
> >> Hello,
> >>
> >> I want to share some updates from my side on what I have been working on
> >> for the last couple of months. In particular, I expect certain changes
> to
> >> have an ASF-wide impact! Sounds interesting? Continue reading.
> >>
> >> *What is up with `maven-changes-plugin`?*
> >>
> >> The current `site` phase takes ages to complete. This significantly
> hinders
> >> releases and more frequent website updates. The main culprit is `site`
> >> phase plugins need to be executed for 50+ modules. As my investigation
> >> turned out, we can actually either drop or replace all such plugins,
> except
> >> one: `maven-changes-plugin`, that is used to generate the changelog from
> >> `changes.xml`. `maven-changes-plugin` is also a major source of
> >> merge-conflicts in between feature branches and PRs, since they all
> need to
> >> touch to the same file: `changes.xml`.
> >>
> >> *Is it only about overhauling the `site` phase?*
> >>
> >> No. As we agreed on, we want to migrate the issue tracking from JIRA to
> >> GitHub Issues. `maven-changes-plugin` blocks us there too, since it only
> >> supports a single issue tracking system.
> >>
> >> *Enter `log4j-changelog`*
> >>
> >> I have written simple Java command line applications to perform the
> >> following tasks:
> >>
> >>  1. Populate
> >>  `src/site/changelog/<releaseVersion>/<issueId>_<description>.xml` files
> >>  from `changes.xml`
> >>  2. Generate AsciiDoc-formatted changelog files from the populated
> >>  `src/site/changelog`
> >>  3. Make `src/site/changelog` ready before a release
> >>
> >> These technical tools will not only help us to replace
> >> `maven-changes-plugin`, support multiple issue trackers, and enable
> great
> >> simplification of the `site` phase, due to its
> one-changelog-file-per-issue
> >> convention, they will make changelog merge conflicts a thing of the past
> >> too!
> >>
> >> Okay, great! Since the `maven-changes-plugin` successor is there, what
> are
> >> we exactly waiting for?
> >>
> >> *Enter `log4j-tools`*
> >>
> >> I have implemented `log4j-changelog` as a not-deployed Log4j module,
> though
> >> Ralph insisted on not having this within Log4j to make it available for
> >> other Log4j projects and since it needs to be shared by (and hence,
> sync'ed
> >> in between) `release-2.x` and `master` branches. He proposed that we
> host
> >> this in `log4j-tools` <https://github.com/apache/logging-log4j-tools>.
> >> Since `log4j-tools` repository never had a release before, I let my
> >> imagination go wild there:
> >>
> >>  - Adopted the Maven-recommended way of setting up a BOM:
> >>  `logging-parent` parents `log4j-bom`, which parents `log4j-parent`,
> which
> >>  parents all other modules. There the effective POM of `log4j-bom` is
> >>  stripped-down from its parent and all unnecessary weight via
> >>  `flatten-maven-plugin` voodoo.
> >>  - Switched to CI-friendly Maven versioning
> >>  <https://maven.apache.org/maven-ci-friendly.html>
> >>  - Configured GitHub Actions to make releases!
> >>
> >> (As you might guess, if experiment succeeds, I will port all these fancy
> >> stuff to Log4j too.)
> >>
> >> *Releasing... via GitHub Actions!?!*
> >>
> >> ASF project artifacts are required to be signed and up until now that
> has
> >> **always** been performed manually by release maintainers. Releasing
> **and
> >> signing** artifacts in a fully-automated fashion in CI... "Surely You're
> >> Joking, Mr. Feynman!" But I am not! I have shared a technical
> >> implementation proposal in `members@`, got approval from ASF Security
> Team
> >> head Mark J. Cox
> >> <https://lists.apache.org/thread/t1fbn11m70sy9df86xgzzp0fllg38p9q>,
> and now
> >> I am waiting for INFRA-23996
> >> <https://issues.apache.org/jira/browse/INFRA-23996> to be implemented!
> >>
> >> What does this effectively mean? To the best of my knowledge,
> *`log4j-tools`
> >> will be the first ASF project ever that is released via CI!* This will
> >> enable various release automation enhancements, not to mention the
> software
> >> supply chain traceability it will bring as well.
> >>
> >> *Where are we now?*
> >>
> >> Once INFRA-23996 <https://issues.apache.org/jira/browse/INFRA-23996> is
> >> implemented and `log4j-tools` (containing `log4j-changelog`) is
> released,
> >> the following PR train will be merged:
> >>
> >>  - #1145 <https://github.com/apache/logging-log4j2/pull/1145> – replace
> >>  `maven-changes-plugin` with `log4j-changelog`
> >>  - #1166 <https://github.com/apache/logging-log4j2/pull/1166> –
> simplify
> >>  `site` goal (`./mvnw site` takes ~30 seconds!)
> >>  - #1172 <https://github.com/apache/logging-log4j2/pull/1172> – update
> >>  sources, docs, links, etc. to reflect the migration from JIRA to GitHub
> >>  Issues
> >>
> >> *What are we waiting for?*
> >>
> >> We *_can_* release `log4j-tools` without INFRA-23996
> >> <https://issues.apache.org/jira/browse/INFRA-23996>, the old school
> way,
> >> i.e., via running `./mvnw deploy` from a personal laptop. That said, I
> >> believe releasing `log4j-tools` via CI will have a way bigger impact
> beyond
> >> the scope of Log4j, and `log4j-tools` constitutes a great candidate for
> >> such an experiment. We are all set: `log4j-tools` GitHub Actions
> workflows
> >> <
> https://github.com/apache/logging-log4j-tools/blob/master/.github/workflows/build.yml
> >
> >> are ready to make an automated release. Infra team has indicated in
> >> INFRA-23996 <https://issues.apache.org/jira/browse/INFRA-23996> that
> they
> >> will implement it in a couple of days. Given how close we are to an
> >> automated release, I will wait for my grand infra revamp scheme to
> unfold.
> >
>
>

Reply via email to