nextstrain / .github

8 stars 11 forks source link

Should the pathogen-repo-ci be louder if no workflows are run? #92

Closed joverlee521 closed 3 months ago

joverlee521 commented 3 months ago

TODO

Original issue content

Follow up to #89

Just noticed in our docker-base CI workflow that all the pathogen-repo-ci jobs have "succeeded" even though none of them ran any workflows.

This outcome is pretty misleading and can potentially lead to us missing when changes actually break pathogen workflows if we don't notice that the workflows never actually ran within CI.

joverlee521 commented 3 months ago

I think fine to leave each ingest/phylogenetic/nextclade workflow as optional, but maybe we should have a final conclusion job that checks at least one of the workflows ran?

genehack commented 3 months ago

I think fine to leave each ingest/phylogenetic/nextclade workflow as optional, but maybe we should have a final conclusion job that checks at least one of the workflows ran?

In this particular case, every repo where the pathogen-repo-ci workflow is being used lacks the nextstrain-pathogen.yaml file in the repo root.

Maybe instead of testing for the presence of that file in the individual build steps, and skipping if it's absent, there should be a preliminary job that checks once, and generates a failure (e.g., exit 1 or the like) if the file is missing.

joverlee521 commented 3 months ago

In this particular case, every repo where the pathogen-repo-ci workflow is being used lacks the nextstrain-pathogen.yaml file in the repo root.

Maybe instead of testing for the presence of that file in the individual build steps, and skipping if it's absent, there should be a preliminary job that checks once, and generates a failure (e.g., exit 1 or the like) if the file is missing.

Yup, definitely support erroring early on this! In addition, I still think it'd be helpful to fail when none of the expected workflows ran.

genehack commented 3 months ago

Yup, definitely support erroring early on this! In addition, I still think it'd be helpful to fail when none of the expected workflows ran.

You wouldn't happen to be able to point me to an example of that sort of aggregated failure check in a GitHub Action, would you?

joverlee521 commented 3 months ago

You wouldn't happen to be able to point me to an example of that sort of aggregated failure check in a GitHub Action, would you?

I think the wait-conclusion job in the pathogen-repo-build workflow is a good example:

https://github.com/nextstrain/.github/blob/7f910e6c7d3d475500b063e4861a26b63c168cb8/.github/workflows/pathogen-repo-build.yaml#L596-L613

genehack commented 3 months ago

You wouldn't happen to be able to point me to an example of that sort of aggregated failure check in a GitHub Action, would you?

I think the wait-conclusion job in the pathogen-repo-build workflow is a good example:

Ah, yeah, cool, I can do the couple changes here.

joverlee521 commented 3 months ago

Resolved by a combination of #95, #96, #98, and #99.