Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor CI using ecmwf-actions #66

Merged
merged 4 commits into from
Nov 29, 2024
Merged

Refactor CI using ecmwf-actions #66

merged 4 commits into from
Nov 29, 2024

Conversation

awnawab
Copy link
Collaborator

@awnawab awnawab commented Nov 29, 2024

This PR brings the FIELD_API CI in line with other software packages by using ecmwf-actions. Coverage is also extended to include:

  • nvhpc
  • older gnu versions
  • macos

include:

- name: linux gnu-10
os: ubuntu-20.04
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any particular reason for using the relatively old runner image here? 20.04 is EOL in a couple of months and I expect GH might make these runners unavailable soon after.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great catch!

caching: true

- name: linux nvhpc-23.5
os: ubuntu-20.04
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same (also for intel below)

# Trigger the workflow on all pushes, except on tag creation
push:
branches:
- '**'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we restrict the runs on push to the main branch only, please? Pull requests are already enabled below, as well as manual workflow dispatches for early testing.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree with that. Having the tests run by themselves for any commit when experimenting on a branch is very useful and should not be deactivated. It's better to be aware of a problem as soon as possible than at the final step when opening a pull request.
And having to run the tests by hand seems to defeat the purpose of continuous integration.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this is a matter of taste and resource management. I often push non-final things to branches, where I know full well that they won't pass testing and so I would not want to waste resources on default testing for that. For near-completion integration testing, I find Draft Pull Requests useful, which do test on every individual push. But hey, if your workflow varies and you'd like this, we can enable this for the public GH-hosted runners.

However, on the other PR for the ECMWF HPC testing, I would like to keep this restricted, as this is a shared and somewhat limited resource that is used across multiple repositories and by multiple developers. Spamming the GPU-debug-queue with non-final branch pushes can impact others quite easily here.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I would like to keep it for the public GH-hosted runners please.
And I understand you don't want to overload your GPU-queue.

Copy link
Collaborator

@mlange05 mlange05 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great to me, very neat! GTG from me. :shipit:

@awnawab awnawab merged commit 3e569a8 into main Nov 29, 2024
15 checks passed
@awnawab awnawab deleted the naan-ecmwf-actions branch November 29, 2024 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants