-
Notifications
You must be signed in to change notification settings - Fork 136
Speed up CI to complete within 15min (down from 25min) by switching off coverage except for the matrix entry that's uploaded #1861
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
base: master
Are you sure you want to change the base?
Conversation
victorlin
left a comment
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.
Nice find, thanks for looking into this!
|
I assume you will squash the commits here as well? |
.github/workflows/ci.yaml
Outdated
| uses: mamba-org/setup-micromamba@v2 | ||
| with: | ||
| create-args: mafft raxml fasttree iqtree vcftools seqkit sqlite tsv-utils biopython=${{ matrix.biopython-version }} python=${{ matrix.python-version }} | ||
| create-args: mafft raxml fasttree iqtree vcftools seqkit sqlite tsv-utils biopython=${{ matrix.biopython-version }} python=${{ matrix.python-version }} numpy=1 |
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.
I should rebase this and resolve merge conflicts
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1861 +/- ##
=======================================
Coverage 73.36% 73.37%
=======================================
Files 80 80
Lines 8752 8754 +2
Branches 1784 1784
=======================================
+ Hits 6421 6423 +2
Misses 2026 2026
Partials 305 305 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
joverlee521
left a comment
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.
🚀
|
@corneliusroemer do you plan to revisit this any time soon? I don't mind picking things up to get it merged. |
Description of proposed changes
Speeds up CI to fully complete within 15min instead of 25, most tests complete within 11min inntead of 15min. How?
COVERAGE_CORE=sysmonto speed up coverage calculation (available forPython 3.123.14+), see When we switch to Python 3.14, collect coverage withCOVERAGE_CORE=sysmon#1862This brings down CI time for Python 3.12 (now run without coverage collection) from 27min to 11min, and for Python <3.12 from 15 to 11min.
Collecting coverage costs ~4min: the matrix entry with coverage takes ~15min vs 11min without.
It also changes the default of
./run_tests.shto not collect coverage as one rarely is interested in coverage locally and the cost is significant. One can simply add--covarg to add coverage:./run_tests.sh --covEnergy savings
For fun I calculated saved energy costs (for Github) of this change:
So not worth it for the savings, but for the developer experience.
Related issue(s)
Resolves #1681
Checklist