Hey Piotr,

> release deployment should **not** be triggered by a push. I should
> be a `workflow_dispatch` triggered manually with parameters (e.g. the
> release number). I almost triggered RC4 when merging `release/0.1.0`
> with `main`,

Assuming that, as agreed, RC tags won't be generated by CI anymore, do you
still think this is a problem? Note that the entire release process
performed by CI is reversible. I personally really like the convenience of
"push a commit and see it getting released" compared to "push a commit,
trigger the job, and see it getting released". In particular, given "push a
commit" is often repeated many times.

> we could reuse some Github Actions like
> https://github.com/apache/maven-gh-actions-shared/tree/v3

I did not know about that project, thanks for the tip. I have some
reservations about using an Apache-wide GHA template, but I support the
idea of moving the shared boilerplate to a central (Log4j?) repository.

> the CI build should use all bells and whistles. E.g. I will disable
> integration tests in the default build profile on `l-l-transform`,
> because it slows down builds considerably. But I want the CI to run
> them.

I suppose you need to create a Maven profile that gets deactivated when the
`CI` environment variable
<https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables>
is present and bind your tests to that profile.

> a `verify-release` profile would be useful. There is no reason to
> verify build reproducibility manually. An `artifact:compare` execution
> should be able to do it.

I am not able to follow here. Build reproducibility is tested in multiple
steps:

1. `./mvnw clean install`
2. `./mvnw clean verify artifact:compare`
3. Store the failure context (optional)

How can we attach this sequence to a single (Maven?) profile?

On Fri, May 5, 2023 at 11:13 PM Piotr P. Karwasz <piotr.karw...@gmail.com>
wrote:

> Hi Volkan,
>
> On Fri, 5 May 2023 at 10:47, Volkan Yazıcı <vol...@yazi.ci> wrote:
> > Yet I get the team's sentiment on provenance and I agree with it. Yet the
> > RC (release candidates) case is a bit muddy. I propose the following: For
> > voting purposes, only share the commit ID, and only create a `rel/x.y.z`
> > tag if the vote passes.
> >
> > This captures two conditions stated so far:
> > 1. Not polluting the tag-space
> > 2. Immutable references to release commits
> >
> > Unless you have objections, I will implement this for `l-l-tools` and
> > `l-l-transform`.
>
> +1
>
> Some remarks on my experience with the automatic release process:
>
>  * release deployment should **not** be triggered by a push. I should
> be a `workflow_dispatch` triggered manually with parameters (e.g. the
> release number). I almost triggered RC4 when merging `release/0.1.0`
> with `main`,
>  * we could reuse some Github Actions like
> https://github.com/apache/maven-gh-actions-shared/tree/v3
>  * the CI build should use all bells and whistles. E.g. I will disable
> integration tests in the default build profile on `l-l-transform`,
> because it slows down builds considerably. But I want the CI to run
> them.
>  * a `verify-release` profile would be useful. There is no reason to
> verify build reproducibility manually. An `artifact:compare` execution
> should be able to do it.
>
> Piotr
>

Reply via email to