junction icon indicating copy to clipboard operation
junction copied to clipboard

[WIP] Move CI to Github Actions

Open palnabarun opened this issue 4 years ago • 8 comments

Travis CI is occasionally missing events from GitHub and hence becoming very flaky to use, for example, in #682 and #689, the events are not being detected at all.

palnabarun avatar Jun 06 '20 23:06 palnabarun

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f866be3). Click here to learn what that means. The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             master     #692   +/-   ##
=========================================
  Coverage          ?   66.78%           
=========================================
  Files             ?       50           
  Lines             ?     1993           
  Branches          ?        0           
=========================================
  Hits              ?     1331           
  Misses            ?      662           
  Partials          ?        0           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update f866be3...9af2371. Read the comment docs.

codecov-commenter avatar Jun 07 '20 07:06 codecov-commenter

@palnabarun Does github CI doesn't have the concept of sessions/env ? I see you had to setup 2 separate workflow files.

~~Also coveralls report still doesn't seem to be coming.~~ I see coverage is reported by codecov instead of coveralls, which is fine. But it is messing up with the coverage report. Instead of providing coverage reports per session it is overwriting the report each time.

Also test-3.6 and test-3.8 is being skipped due to missing interpreters

ananyo2012 avatar Jun 07 '20 16:06 ananyo2012

Does github CI doesn't have the concept of sessions/env ?

I didn't get you.

I see you had to setup 2 separate workflow files.

They are for different things. There is less clarity on how workflows should be structured, but functionally separating things seems to be the right way.

palnabarun avatar Jun 07 '20 18:06 palnabarun

I see coverage is reported by codecov instead of coveralls, which is fine. But it is messing up with the coverage report. Instead of providing coverage reports per session it is overwriting the report each time.

These things are being worked out and that is why the PR is WIP.

Also test-3.6 and test-3.8 is being skipped due to missing interpreters

Yes. Again this is WIP. There are issues with nox detecting the right environments. If I need to install all Python versions when using nox, it completely defeats the purpose. Since, I can elegantly use matrix in Github Actions, each individual version of Python can be setup separately. When I did that, nox broke when Python 2.7 was the interpreter. I am working to resolve the issues.

palnabarun avatar Jun 07 '20 18:06 palnabarun

Sorry I missed the WIP label and went ahead and reviewd. More used to see WIP in title :stuck_out_tongue:

ananyo2012 avatar Jun 07 '20 18:06 ananyo2012

Does github CI doesn't have the concept of sessions/env ?

I didn't get you.

I see you had to setup 2 separate workflow files.

They are for different things. There is less clarity on how workflows should be structured, but functionally separating things seems to be the right way.

Yes indeed. Maybe GitHub CI doesn't support nox session like Travis does. Both the workflows has a lot of duplicate setup. Would be nice if there was some base setup from which things could be derived.

ananyo2012 avatar Jun 07 '20 18:06 ananyo2012

Sorry I missed the WIP label and went ahead and reviewd. More used to see WIP in title stuck_out_tongue

Ah. No problem.

palnabarun avatar Jun 07 '20 19:06 palnabarun

For Travis CI, the fix/workaround for the flakiness is to install their GitHub App, instead of using a webhook.

OTOH, GitHub Actions is enough of an improvement in compute capacity, to justify switching IMO -- they give more "workers" per repo (20 + 5 MacOS), and their vCPUs are clocked higher (AFAIK).

pradyunsg avatar Jun 07 '20 19:06 pradyunsg