Skip to content

Switch to codecov#3275

Merged
bdbaddog merged 4 commits into
SCons:masterfrom
dmoody256:more_coverage
Jan 29, 2019
Merged

Switch to codecov#3275
bdbaddog merged 4 commits into
SCons:masterfrom
dmoody256:more_coverage

Conversation

@dmoody256
Copy link
Copy Markdown
Contributor

@dmoody256 dmoody256 commented Jan 19, 2019

This PR switches to codecov which allows for coverage reports submitted from both Appveyor and Travis so we can get a complete coverage including windows code and tests.

  • Fixes some minor issues with the files omitted for coverage calculation
  • disables coveralls and switches to using codecov for coverage reporting
  • adds py 2.7 and 3.6 on the Visual Studio 2015 image, and maintains py 2.7, 3.5, 3.6, 3.7 on the 2017 image
  • adds additional coverage for py 3.6 on Travis, and compresses coverage builds into 4 jobs each for speed
  • calculates coverage even if a single test fails, as this can still be useful information
  • adds the codecov.yml for source level coverage configuration.
  • Adds appveyor Ubuntu configuration as an optional environment, but disabled for now

Codecov example report:
https://codecov.io/gh/SCons/scons

@bdbaddog
Copy link
Copy Markdown
Contributor

Why do linux on both appveyor and travis?

@dmoody256
Copy link
Copy Markdown
Contributor Author

Why do linux on both appveyor and travis?

I questioned this too, but I guess because redundancy, different environment and versions of 3rd party software.

Alternatively, removing it would speed up the appveyor build time, they only alot one concurrent job for open source projects.

It's almost optional, because to remove it requires only simply commenting out the image at the top of the appveyor yaml.

@bdbaddog
Copy link
Copy Markdown
Contributor

I'd say leave the logic in for appveyor, but comment it out for now? Sounds like this would hold up any other PR's builds until extra runtime on appveyor which is already a the slowest part of the build..

@dmoody256
Copy link
Copy Markdown
Contributor Author

I'd say leave the logic in for appveyor, but comment it out for now

ok done, also before merging you will need to go to codecov and click the sign up button to connect the SCons account with github:
https://codecov.io/
then connect the scons repository. Codecov won't need any repo tokens it can receive reports from Travis and Appveyor automatically.

@dmoody256
Copy link
Copy Markdown
Contributor Author

regarding the failures in the Visual Studio 2015 appveyor image:

Comment thread .appveyor.yml Outdated
### WINDOWS ###
# add python and python user-base to path for pip installs
- cmd: "C:\\%WINPYTHON%\\python.exe --version"
- cmd: for /F "tokens=*" %%g in ('C:\\%WINPYTHON%\\python.exe -m site --user-base') do (set PYUSERBASESITE=%%g)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why use user-base?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

to avoid any permissions issues

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is this a new requirement? We weren't doing that before..

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I tested without --user and there was no issues. I believe the permissions issues where on the linux side and I copied the --user from there as a blanket to cover any permissions issues. The windows side doesn't need --user for pip.

@bdbaddog
Copy link
Copy Markdown
Contributor

Check the appveyor run? some java test failed looking for java version 51?

@dmoody256
Copy link
Copy Markdown
Contributor Author

Check the appveyor run? some java test failed looking for java version 51?

That's the java issue I mentioned earlier: #3276. I was looking into it and the binaries are all present on that appveyor image and working, so I think there is something going on with the test framework, haven't nailed it down yet though.

@bdbaddog
Copy link
Copy Markdown
Contributor

Is this supposed to only test with py27 and 36, and not 3.5 or 3.7?

@dmoody256
Copy link
Copy Markdown
Contributor Author

Is this supposed to only test with py27 and 36, and not 3.5 or 3.7?

I removed 3.5 and 3.7 because the time it takes to run the CI with one job. Those are tested on Linux in Travis, so I am not sure how much more value they are adding on windows. With this PR as it stands, Appveyor takes 2 hours, instead of the 4 currently. I can add them back if you think its worth it.

@bdbaddog
Copy link
Copy Markdown
Contributor

Since the PR title is switch to codecov, it's be best if this PR only did that and not change anything else.
Smaller PRs that do one thing are the preferred.
So for this PR please change it back to running the same Python versions as before.

@bdbaddog
Copy link
Copy Markdown
Contributor

looks like win32/mingw.py test is failing on appveyor? can you take a look

@dmoody256
Copy link
Copy Markdown
Contributor Author

looks like win32/mingw.py test is failing on appveyor? can you take a look

Thats from the issue in PR: #3270

Also the VS 2015 exec test failed related to license expired, I notified Appveyor:
https://help.appveyor.com/discussions/problems/19717-visual-studio-2015-trial-license-has-expired

@dmoody256
Copy link
Copy Markdown
Contributor Author

Since the PR title is switch to codecov, it's be best if this PR only did that and not change anything else.
Smaller PRs that do one thing are the preferred.
So for this PR please change it back to running the same Python versions as before.

OK just to make sure I understand, the CI should test py 2.7, 3.5, 3.6, 3.7 on the Visual Studio 2017 image (the current config) and also test py 2.7, 3.6 on Visual Studio 2015 image?

@bdbaddog
Copy link
Copy Markdown
Contributor

Can you update the summary for this PR to indicate all the included changes?
Likely we should update CHANGES.txt since the CI tasks being run is also(?) being changed?

@dmoody256
Copy link
Copy Markdown
Contributor Author

Can you update the summary for this PR to indicate all the included changes?

sure

Likely we should update CHANGES.txt since the CI tasks being run is also(?) being changed?

I thought CHANGES.txt was related to src tree changes, and since this is CI is not documented?

@bdbaddog
Copy link
Copy Markdown
Contributor

In this case since it's a change in the environments we regularly test in, probably worth noting.

@bdbaddog
Copy link
Copy Markdown
Contributor

any chance you can pop on IRC?

@dmoody256
Copy link
Copy Markdown
Contributor Author

any chance you can pop on IRC?

I have something I need to do for the next few hours but i'll check on IRC when I get a chance.

…s to original plus 2.7 on 2015, add irc notification for codecov
@bdbaddog
Copy link
Copy Markdown
Contributor

Per IRC discussion only expected tests failed. I'm going to merge this and then we'll address the failures with other PRs.
Thanks for the good work!

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