diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2024-09-16 19:18:21 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-16 19:18:21 -0700 |
commit | 930e71177144c7f7c1b7ff6013a298db8a5eafad (patch) | |
tree | 0646e6c361a27ca39222e443ec526fd76cb00ff8 /pyproject.toml | |
parent | b1905186a621d8f2b2afe13921d30fd056b19aeb (diff) | |
download | spack-930e71177144c7f7c1b7ff6013a298db8a5eafad.tar.gz spack-930e71177144c7f7c1b7ff6013a298db8a5eafad.tar.bz2 spack-930e71177144c7f7c1b7ff6013a298db8a5eafad.tar.xz spack-930e71177144c7f7c1b7ff6013a298db8a5eafad.zip |
coverage: only upload to codecov once (#46385)
Historically, every PR, push, etc. to Spack generates a bunch of jobs, each of which
uploads its coverage report to codecov independently. This means that we get annoying
partial coverage numbers when only a few of the jobs have finished, and frequently
codecov is bad at understanding when to merge reports for a given PR. The numbers of the
site can be weird as a result.
This restructures our coverage handling so that we do all the merging ourselves and
upload exactly one report per GitHub actions workflow. In practice, that means that
every push to every PR will get exactly one coverage report and exactly one coverage
number reported. I think this will at least partially restore peoples' faith in what
codecov is telling them, and it might even make codecov handle Spack a bit better, since
this reduces the report burden by ~7x.
- [x] test and audit jobs now upload artifacts for coverage
- [x] add a new job that downloads artifacts and merges coverage reports together
- [x] set `paths` section of `pyproject.toml` so that cross-platform clone locations are merged
- [x] upload to codecov once, at the end of the workflow
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
Diffstat (limited to 'pyproject.toml')
-rw-r--r-- | pyproject.toml | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml index 06aec6fc43..d74b54270e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -212,6 +212,14 @@ exclude_lines = [ ] ignore_errors = true +[tool.coverage.paths] +source = [ + ".", + "/Users/runner/work/spack/spack", + "/System/Volumes/Data/home/runner/work/spack/spack", + "D:\\a\\spack\\spack", +] + [tool.coverage.html] directory = "htmlcov" |