-
Notifications
You must be signed in to change notification settings - Fork 225
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
Run full tests (including inline doctests) in workflows #2286
Comments
I'm reopening the issue, because it seems the "Tests" workflow still doesn't run the full tests on Wednesday (e.g., https://github.com/GenericMappingTools/pygmt/actions/runs/4421700978/jobs/7752774811). |
Our current strategy is to run the unit tests in daily scheduled CI jobs and only run the "full tests" (unit tests + doctests) on the Wednesday scheduled CI job. Actually, looking at the list of daily scheduled runs (https://github.com/GenericMappingTools/pygmt/actions/workflows/ci_tests.yaml?query=event%3Aschedule), I find it very difficult to know which job runs on Wednesday. What's worse is, if all unit tests pass but some doctests fail, we will see six passing runs and one failing run every week. It's very likely that we will miss the failing run and don't know that we're having failing doctests. I think the simplest solution is "always run the full tests in scheduled jobs". As mentioned in #1833 (comment),
If you think that running the full tests daily is a waste of CI resources, maybe we can run every two or three days or once per week. |
Alternatively, could we revisit a solution to run only the doctests as mentioned in #1833 (comment)? I'm thinking of a workflow that does:
That way, we have a dedicated workflow to catch errors only in the doctests. |
It sounds like a clever solution. I just tried to do some statistics about our tests. Currently, we have 696 tests, including 628 unit tests (in the These counts are get by running the following commands (I removed the
There is no way to run the 38 "skipped" doctests only, but it seems we can use the last command in a new workflow to run the 68 doctests only. |
As mentioned in #2281 (comment):
The text was updated successfully, but these errors were encountered: