Cx Organization#1884
Conversation
|
This pull request is stale because it has been open for 60 days with no activity. |
|
What is the status of this PR? Is this still relevant after #2139? Some things like removing thanking for PR are certainly still relevant but may be better merged separately. |
2f2694c to
7765578
Compare
brownbaerchen
left a comment
There was a problem hiding this comment.
Thanks for cleaning up all this stuff!
I left a few comments, but I have one larger issue outside of that, which is that no tests currently run on push to non-main branches, right?
I really like running the CI on push to any branch because I don't always run the entire test suite locally. Most of the time, I just run the tests I am working on and I know that I will get an email if I messed up something else. Or maybe the tests pass on my machine and not on GitHub or whatever. Or there is a new optional dependency that I have yet to install. Or maybe I just forgot to check different number of tasks.
I think it's really nice to be able to run the CI on push on my fork before doing a PR because then I can fix failures without sending out a bunch of emails to everybody.
Unfortunately, this is a bit tricky to implement in this framework because we don't want duplicate runs when pushing to a branch within the main repository that is currently part of a PR. There needs to be some check that the CI on push is skipped if the repository is not a fork and if the branch is currently part of a PR or something like that.
What's your opinion on this?
| shell: bash | ||
| run: | | ||
| pip install pytest | ||
| pip install ${{ inputs.pytorch-version }} ${{ inputs.install-options }} --extra-index-url https://download.pytorch.org/whl/cpu |
There was a problem hiding this comment.
|
Hi @brownbaerchen, I forgot how quickly you answer reviews. There were some changes that needed to be tested. But I think the current version now addresses most of the issues you mentioned.
|
brownbaerchen
left a comment
There was a problem hiding this comment.
This is great, thanks!
I don't really see the point in the quick CI, to be honest. To me, the current lean CI is fast enough. So I would stick to the current medium and full, while renaming medium to quick just to keep the workflows simpler.
But I am also fine with what the state is now. You (or any other reviewer) choose.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1884 +/- ##
=======================================
Coverage 91.71% 91.71%
=======================================
Files 86 86
Lines 14221 14221
=======================================
Hits 13043 13043
Misses 1178 1178
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
We need to merge #2262 before this one in order to run the optional IO tests. That's probably also why coverage is reduced currently.. |
|
I fixed the issues with the access token, wrote more documentation on the CX repository, and added the necessary setting for the support new pytorch version workflow. The last pipeline ran without any issue. Ready to merge in my opinion, @brownbaerchen @mtar. |
brownbaerchen
left a comment
There was a problem hiding this comment.
I actually noticed a few things I hadn't before:
- We should trigger more CI on PR open and synchronize
- We may want to limit CI runs on dependabot PRs, but not as much as we are currently doing
Then again, I may be misunderstanding some stuff. So feel free to dismiss the comments if they don't make sense.
| paths: | ||
| - 'heat/**' | ||
| - 'tests/**' | ||
| - 'pyproject.toml' |
There was a problem hiding this comment.
One issue that came up is the update of the setup-mpi action. The dependabot PR doesn't trigger any CI action in the current main. Luckily, we know there are issues and so I ran the CI on this manually and indeed it failed. had we not known that, I would want to know at least when the PR is merged into main. So maybe always run the CI on push to main? Not sure what's the best way of handling this..
Maybe we should bring back the medium CI on dependabot PRs. The quick one would pass with the setup-MPI thing.
The suggestion diff is messed up. I want to remove all paths, not just the last one.
| - 'pyproject.toml' |
There was a problem hiding this comment.
This would get tested anyway on any push to main, which should be enough for most dependabot updates. For the special cases, like the setup-mpi actions, triggering manually is fairly simple with a small commit.
Another option would be to just enable the quick tests when a PR is open, regardless of the source.
There was a problem hiding this comment.
Is there a reason to only run the CI on push to main with changes to select paths?
|
Updates based on the review comments:
|
mtar
left a comment
There was a problem hiding this comment.
Some action SHA pinning for security. It's non-critical code though.
| paths: | ||
| - 'heat/**' | ||
| - 'tests/**' | ||
| - 'pyproject.toml' |
There was a problem hiding this comment.
Is there a reason to only run the CI on push to main with changes to select paths?
Co-authored-by: Michael Tarnawa <18899420+mtar@users.noreply.github.com>
|
@brownbaerchen From your last comment: changes to github workflows will be tested on PR Open/Update (unless they have |
Due Diligence
Description
Goal is to organize our workflows by modularizing certain steps and jobs.
Reusable workflows should be turned into actions, that can be added onto larger workflows.
Anger towards #1937 made me finish this out of spite. It does all the changes proposed. Let's talk about what's missing.
Benchmarks are also working again.
What are we getting from this
TODO
See #1874 Cx section for rationale.
Changes proposed: