Skip to content
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

Add codecov run to CI #1061

Merged
merged 11 commits into from
Jan 5, 2024
Merged

Add codecov run to CI #1061

merged 11 commits into from
Jan 5, 2024

Conversation

mborland
Copy link
Member

No description provided.

@mborland
Copy link
Member Author

@Flamefire This is the same codecov yaml from boost-ci I have put in a few libraries now. Any idea why the setup boost step is failing with missing library? It looks like an error in get_libname? https://github.com/boostorg/math/actions/runs/7299976550/job/19894765017#step:10:126. Thanks for the assistance.

@mborland
Copy link
Member Author

Looks like our libraries.json was not formatted as expected. Everything is working now.

@Flamefire
Copy link
Contributor

Looks like our libraries.json was not formatted as expected. Everything is working now.

To be specific: You put your description into a list which seems to be valid and used by libraries containing sub-libraries. I don't see a reason to use this for single-library libraries where you can just use a dict (as you did in your change)
I'm not sure how that JSON file is defined but seemingly that list has to be supported by Boost.CI -> boostorg/boost-ci#225

Currently your PR fails due to a timeout on GHA. You can possibly split it into multiple jobs instead of building release/debug and static/shared in one job to reduce the time. https://github.com/boostorg/math/pull/1061/files#diff-512f30627f95d7fcdc76dc362d896351e9a4539994b7ab00b41979e653a6d0a9R170 should give you an idea how. Otherwise feel free to ask.
I guess it would even be enough to build just the static OR the shared variant for coverage which already cuts down the time in half. But you can also have one job each, codecov combines all uploads for a commit.

@mborland
Copy link
Member Author

Looks like our libraries.json was not formatted as expected. Everything is working now.

To be specific: You put your description into a list which seems to be valid and used by libraries containing sub-libraries. I don't see a reason to use this for single-library libraries where you can just use a dict (as you did in your change) I'm not sure how that JSON file is defined but seemingly that list has to be supported by Boost.CI -> boostorg/boost-ci#225

A release or two ago we went from having sub-libraries listed in the meta to just overall Boost.Math so that makes sense.

Currently your PR fails due to a timeout on GHA. You can possibly split it into multiple jobs instead of building release/debug and static/shared in one job to reduce the time. https://github.com/boostorg/math/pull/1061/files#diff-512f30627f95d7fcdc76dc362d896351e9a4539994b7ab00b41979e653a6d0a9R170 should give you an idea how. Otherwise feel free to ask. I guess it would even be enough to build just the static OR the shared variant for coverage which already cuts down the time in half. But you can also have one job each, codecov combines all uploads for a commit.

Thanks for the tips.

@mborland
Copy link
Member Author

@Flamefire so my tests are finishing in about an hour running the full test suite, but the upload step is timing out at 5 hours. In our normal CI we cut it in half github_ci_block_1 and 2. Is there a way to run these two test suites individually instead of together? Hopefully that'll reduce the upload time by half.

Copy link
Contributor

@Flamefire Flamefire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Flamefire so my tests are finishing in about an hour running the full test suite, but the upload step is timing out at 5 hours. In our normal CI we cut it in half github_ci_block_1 and 2. Is there a way to run these two test suites individually instead of together? Hopefully that'll reduce the upload time by half.

5 hours... Never thought that collecting the coverage data could take so long.

Yes splitting the 2 suites might help, although it seems to be the amount of files included which is the issue, but let's try.

d1a5ae0 was very close already. It just forgot that b2 runs in the boost root which enables some more "magic"/avoids known issues.

Check if the suggested changes work

.github/workflows/codecov.yml Outdated Show resolved Hide resolved
.github/workflows/codecov.yml Outdated Show resolved Hide resolved
.github/workflows/codecov.yml Outdated Show resolved Hide resolved
Copy link

codecov bot commented Dec 28, 2023

Welcome to Codecov 🎉

Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.

Thanks for integrating Codecov - We've got you covered ☂️

@mborland mborland merged commit 79b4015 into develop Jan 5, 2024
70 checks passed
@mborland mborland deleted the codecov branch January 5, 2024 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants