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

Cleanup of CI actions & cron job #3490

Merged
merged 42 commits into from
Jan 9, 2022
Merged

Cleanup of CI actions & cron job #3490

merged 42 commits into from
Jan 9, 2022

Conversation

IAlibay
Copy link
Member

@IAlibay IAlibay commented Dec 29, 2021

Fixes #3216 #1727
Towards #3052 #3442

Changes made in this Pull Request:

  • Implement composite actions for similar steps across multiple workflow jobs
    • Adds a fully tune-able composite workflow for conda/pip installing, allowing us to point mutate any dependency whilst still having every default defined in a single file.
  • A variety of cron jobs
    • pip only install
    • install with numpy & scipy nightly dev versions
    • < 10.0 version of chemfiles-python
    • "march=native mtune=native" cflags build

To do:

  • Make gh-ci-cron.yaml purely a cron workflow (after review).

PR Checklist

  • Tests?
  • Docs?
  • CHANGELOG updated?
  • Issue raised/referenced?

@codecov
Copy link

codecov bot commented Dec 29, 2021

Codecov Report

Merging #3490 (02ccbd6) into develop (d1fd748) will decrease coverage by 0.00%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #3490      +/-   ##
===========================================
- Coverage    93.86%   93.85%   -0.01%     
===========================================
  Files          176      176              
  Lines        23208    23208              
  Branches      3300     3300              
===========================================
- Hits         21784    21782       -2     
- Misses        1372     1373       +1     
- Partials        52       53       +1     
Impacted Files Coverage Δ
package/MDAnalysis/analysis/hole2/hole.py 79.21% <0.00%> (-0.53%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d1fd748...02ccbd6. Read the comment docs.

@IAlibay IAlibay changed the title [WIP] cleanup of CI actions & cron job Cleanup of CI actions & cron job Dec 31, 2021
@IAlibay
Copy link
Member Author

IAlibay commented Dec 31, 2021

@MDAnalysis/coredevs should be finished with this one.

It's a pretty big overhaul of CI - but for the most part the "big changes" are just moving things over to composite actions to make things easier to re-use.

All that's left to do is amend the trigger on gh-ci-cron.yaml to just be a cron job (kept as it currently is so we can make sure CI actually works).

@IAlibay IAlibay requested a review from fiona-naughton January 5, 2022 21:31
Copy link
Member

@orbeckst orbeckst left a comment

Choose a reason for hiding this comment

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

I gave it a cursory glance and I like the modularization.

If no-one else with sufficient GitHub-foo has time to review, I'd say let's try it...

@IAlibay
Copy link
Member Author

IAlibay commented Jan 6, 2022

If no-one else with sufficient GitHub-foo has time to review, I'd say let's try it...

Thanks @orbeckst, I was hoping maybe @fiona-naughton or @lilyminium might also want to have a look through. I think we might want to publish (in the near future) some of these composite actions to streamline downstream develop builds in MDAKits.

@orbeckst
Copy link
Member

orbeckst commented Jan 6, 2022 via email

@lilyminium
Copy link
Member

Modularising GH actions makes the main CI file much tidier, thank you. The default definitions of dependencies is long but allows for much easier mixing and matching. I did just make a PR making the dependency environment variables more list-like and therefore easier to diff; they're also printed in the log as part of the env.

I think we might want to publish (in the near future) some of these composite actions to streamline downstream develop builds in MDAKits.

That also sounds like a good idea. The cookiecutter probably won't need all of them, and this makes it way easier to split out. (One model that many projects follow successfully is installing test dependencies from an environment.yaml, for example; and that also helps with having a yaml file on hand for people building their own development environments.)

Actually, a GH Action installing develop might be handy for downstream projects.



# Issue 3216
old-chemfiles:
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure we should be maintaining support for older chemfiles versions. The package is pre 1.0 and will continually be unstable, so we're signing up for a lot of work.

Copy link
Member Author

Choose a reason for hiding this comment

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

Currently our code paths enable support for both pre and post chemfiles 0.10. I agree that we probably shouldn't waste time trying to support old pre-1.0 here, in which case we should just drop support for it (in a separate PR).

I've raised a separate PR. Let's keep this in for now and remove it in the follow-up PR?

Copy link
Member

@richardjgowers richardjgowers left a comment

Choose a reason for hiding this comment

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

LGTM, might be worth cherry-picking @lilyminium 's patch onto this to avoid a merge snafu

@IAlibay
Copy link
Member Author

IAlibay commented Jan 6, 2022

Just going to let @fiona-naughton review this before switching things to cron-only and merging.

Copy link
Contributor

@fiona-naughton fiona-naughton left a comment

Choose a reason for hiding this comment

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

sorry for the delay - lgtm!

@IAlibay IAlibay merged commit 4a6aee4 into develop Jan 9, 2022
@IAlibay IAlibay deleted the cron-workflow branch January 9, 2022 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add CI runner with older versions of chemfiles
5 participants