+1 to the general proposal.

I'm not bothered if something says a gradle command and in execution, that
task ends up running multiple different commands. Arguably, if we're
running a gradle task manualy to prepare for a subsequent task that latter
task should be adding the former to it's dependencies.

Also agree that this is a post Jenkins exit task. One migration in an area
at a time please.

On Tue, Oct 10, 2023, 8:07 AM Kenneth Knowles <k...@apache.org> wrote:

> On Tue, Oct 10, 2023 at 10:21 AM Danny McCormick via dev <
> dev@beam.apache.org> wrote:
>
>> I'm +1 on:
>> - standardizing our naming
>> - making job names match their commands exactly (though I'd still like
>> the `Run` prefix so that you can do things like say "Suite XYZ failed"
>> without triggering the automation)
>> - removing pre/postcommit from the naming (we actually already run many
>> precommits as postcommits as well)
>
>
> Fully agree with your point of keeping "Run" as the magic word and the way
> we have it today.
>
> I'm -0 on:
>
>> - Doing this immediately - I'd prefer we wait til the Jenkins to Actions
>> migration is done and we can do this in bulk versus renaming things as we
>> go since we're so close to the finish line and exact parity makes reviews
>> easier.
>
>
> Cool. And indeed this is why I didn't "just do it' (aside from this being
> enough impact to people's daily lives that I wanted to get feedback from
> dev@). If we can fold it in as a last step to the migration, that would
> be a nice-to-have. Otherwise ping back when ready please :-)
>
> On Tue, Oct 10, 2023 at 11:15 AM Yi Hu via dev <dev@beam.apache.org>
> wrote:
>
>> Thanks for raising this. This generally works, though some jobs run more
>> than one gradle task (e.g. some IO_Direct_PreCommit run both :build (which
>> executes unit tests) and :integrationTest).
>>
>
> On Tue, Oct 10, 2023 at 10:21 AM Danny McCormick via dev <
> dev@beam.apache.org> wrote:
>
>> I'm -1 on:
>> - Tying the naming to gradle - like Yi mentioned some workflows have
>> multiple gradle tasks, some don't have any, and I think that's ok.
>>
>
> Just to clarify: I'm not proposing tying them to gradle tasks (I'm fine
> with `go test` for example) or doing this in situations where it is
> unnatural.
>
> My example probably confused this because I left off the `./gradlew` just
> to save space. I'm proposing naming them after their obvious repro command,
> wherever applicable. Mostly fixing stuff like how the status label "Google
> Cloud Dataflow Runner V2 Java ValidatesRunner Tests (streaming)" is
> literally a less useful way of writing
> ":runners:google-cloud-dataflow-java:validatesRunnerV2Streaming".
>
> FWIW I think Yi's example demonstrates an anti-pattern (mixing
> hermetic/reliable and non-hermetic/possibly-flaky tests in one test signal)
> but I'm sure there are indeed jobs where this doesn't make sense.
>
> Kenn
>
>
>
>>
>> Thanks,
>> Danny
>>
>>
>>>
>>> Another option is to normalize the naming of every job, saying the job
>>> name is X, then workflow name is PreCommit_X or PostCommit_X, and the
>>> phrase is Run X. Currently most PreCommit follow this pattern, but there
>>> are also many outliers. A good start could be to clean up all jobs
>>> to follow the same pattern.
>>>
>>>
>>> On Tue, Oct 10, 2023 at 9:57 AM Kenneth Knowles <k...@apache.org> wrote:
>>>
>>>> FWIW I aware of the README in
>>>> https://github.com/apache/beam/tree/master/.test-infra/jenkins that
>>>> lists the phrases alongside the jobs. This is just wasted work to maintain
>>>> IMO.
>>>>
>>>> Kenn
>>>>
>>>> On Tue, Oct 10, 2023 at 9:46 AM Kenneth Knowles <k...@apache.org>
>>>> wrote:
>>>>
>>>>> *Proposal:* make all the job names exactly match the GH comment to
>>>>> run them and make it also as close as possible to how to reproduce locally
>>>>>
>>>>> *Example problems*:
>>>>>
>>>>>  - We have really silly redundant jobs results like 'Chicago Taxi
>>>>> Example on Dataflow ("Run Chicago Taxi on Dataflow")' and
>>>>> 'Python_Xlang_IO_Dataflow ("Run Python_Xlang_IO_Dataflow PostCommit")'
>>>>>
>>>>>  - We have jobs that there's no way you could guess the command
>>>>> 'Google Cloud Dataflow Runner V2 Java ValidatesRunner Tests (streaming)'
>>>>>
>>>>>  - (nit) We are weirdly inconsistent about using spaces vs
>>>>> underscores. I don't think any of our infrastructure cares about this.
>>>>>
>>>>> *Extra proposal*: make the job name also the local command, where
>>>>> possible
>>>>>
>>>>> *Example: *
>>>>> https://github.com/apache/beam/blob/master/.github/workflows/beam_PostCommit_Java_ValidatesRunner_Dataflow.yml
>>>>>
>>>>>  - This runs :runners:google-cloud-dataflow-java:validatesRunner
>>>>>  - So make the status label
>>>>> ":runners:google-cloud-dataflow-java:validatesRunner"
>>>>>  - "Run :runners:google-cloud-dataflow-java:validatesRunner" as comment
>>>>>
>>>>> If I want to run it locally, yes there are GCP things I have to set
>>>>> up, but I know the gradle command now.
>>>>>
>>>>> *Corollary*: remove "postcommit" and "precommit" from names, because
>>>>> whether a suite runs before merge or after merge is not a property of the
>>>>> suite.
>>>>>
>>>>> *Caveats*: I haven't been that involved. I didn't do this to Jenkins
>>>>> because they are going away. I didn't do anything to GHA because I don't
>>>>> know if they are ready or in flux.
>>>>>
>>>>> I know this is the sort of thing that invites bikeshedding. It just
>>>>> would save me a few minutes when puzzling out what to care about and how 
>>>>> to
>>>>> kick jobs on the release branch validation PR.
>>>>>
>>>>> I'm happy to scrape through the existing stuff and align it. Perfect
>>>>> task for when my brain is too tired for other work.
>>>>>
>>>>> Kenn
>>>>>
>>>>

Reply via email to