-
Notifications
You must be signed in to change notification settings - Fork 2
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
Improve workflows to use github caches #182
Conversation
Pull Request Test Coverage Report for Build 6656613697
💛 - Coveralls |
Coverage calculation does not work (or you added tests worth 9.1% coverage) |
Testing is not done on push, should be added for commits that do not belong to a PR yet |
c28e1c5
to
3097828
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, I think this is a nice addition, however I have a few concerns/suggestsions:
- We need to make sure that the poetry.lock file is regularly updated to the latest dependency versions if we want to use this. Dependabot does not do this in its current config (see add depedabot for dependency tracking/updating #178)
- There is currently no pytesting done on push. This should be added, at least for one python version, for pushes to branches without a PR.
- Coverage reports do not seem to report correct numbers
The pytest workflow does not even run when pushing to this branch/PR. Seems completely disabled right now. |
@zain-sohail Related to this PR, if you also want to speed up on linting, have a look at ruff: |
Interesting, but it does not seem to replace pylint or mypy, which take the major time in our linting pipeline. |
I have thought about the Ruff option. If we can implement a similar rule set (or better) with Ruff, it's definitely faster. But we would still need a type checker like mypy. |
Addressed in that PR. We can implement this, if necessary, later.
But this is the same as before. We were never using push. See
I just reimplemented the ruleset.
Yes, on that I am not quite certain why. Even for single version test, it doesn't. Or the older ones were wrong? Because now I am using the official action from coveralls.io |
Ruff and mypy are tools for different purposes, while the former is a linter, the latter is a type checker. Each of them can detect problems that the other would miss. It's the combination of them what it makes sense to use. Regarding pylint, maybe it's worth to give it a shot as many users have succeeded (https://docs.astral.sh/ruff/faq/#how-does-ruff-compare-to-pylint) |
The tests were part of the pylint action (on push), your removed them from there. If you want to keep it that way, implement a new test action that runs on push. Why the coveralls workflow does not run on push to the pull request branch, I don't know. Maybe "on" and "pull_request" need to be on the same line, as it was before |
Oh yes I removed them. That's a fair point. I will put the single version test to be on every push then?
That shouldn't have mattered, from previous experience. I will check. |
Is it good now? @rettigl |
|
Ah, and remove update_requirements |
…nerated buffer files
f899127
to
78e28f4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM now
Thanks! |
Generally addition of using caches in workflows
Parallization of testing of package and fixes for race conditions
Addition of dev dependencies so linting can be done
Refer to #151 for more details
Overall, workflows are much faster now
Linting: 1m
Test: 3-4m (after caching)