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)
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. 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. Thanks, Danny 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). > > 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 >>> >>