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
Code coverage as a separate stage in CI #6830
Comments
@Dillon-Brown I was told to ping you :) |
@connorshea Hmm, not sure how effective this would actually be.
This is true however with Travis we only get 1 job 5 builds so while the codecov build is waiting to run it the freed up build will be running on another PR. I do agree we need to speed up the CI and this is indeed a change I want to make. I would propose that we run all the builds on all the PR's in parallel while also splitting up the tests further (1 build running acceptance, 1 running unit, 1 running codecoverage). We wouldn't be able to do this with the Free version of Travis though, which is why I would like to move to Jenkins :) |
It's 5 jobs and no build limit AFAIK (of course, the number of builds is limited by the number of jobs you can run simultaneously), you can have up to 5 running on the same build, or you can have 5 builds with 1 job each. The point is more that I'd like to have the tests for a given PR finish faster, though it would still have an impact on the overall CI system as one of those job slots is taken up by the code coverage job while it's running. Personally I'm a big fan of GitLab CI, but I worked there so I'm biased ;) Unfortunately I haven't gotten a chance to try GitLab CI's GitHub integration, so I don't know if it's any good. It may also be worth checking out Circle CI, though I think the free plan might be limited to 1000 minutes/month, which would be a deal breaker. Another option may be to contact Travis and request that they raise the limit for you? |
Done here: #7802 (Should have done this ages ago tbh). I unfortunately couldn't find an easy way to send files between jobs without uploading somewhere else first so I just opted to run the code cov as part of the 7.0 job. |
Fixed #6830 - Code coverage as a separate stage in CI
@Dillon-Brown should this be marked as resolved in next release? |
Yes, thanks! |
Issue
Right now, the CI build is set up such that code coverage is another stage after the "main" tests are run. However, code coverage is only run after both the first stage completes successfully and the test suite is re-run to allow for the coverage checker to get coverage data.
This means that the test suite takes a lot longer than it needs to:
Current CI setup:
Expected Behavior
Code coverage shouldn't require re-running the job.
Possible Fix
There are two main ways to go about this:
This change would save about 20 minutes on successful runs (on failed runs there will be no difference) of CI.
The text was updated successfully, but these errors were encountered: