Skip to content

Fix up CI#16

Merged
pquentin merged 11 commits intopython-trio:masterfrom
altendky:fixup_ci
Sep 3, 2020
Merged

Fix up CI#16
pquentin merged 11 commits intopython-trio:masterfrom
altendky:fixup_ci

Conversation

@altendky
Copy link
Member

Issues exposed in #15.

@codecov
Copy link

codecov bot commented Aug 30, 2020

Codecov Report

Merging #16 into master will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #16   +/-   ##
=======================================
  Coverage   66.29%   66.29%           
=======================================
  Files           5        5           
  Lines         178      178           
  Branches       28       28           
=======================================
  Hits          118      118           
  Misses         46       46           
  Partials       14       14           
Impacted Files Coverage Δ
trimeter/_tests/conftest.py 76.92% <ø> (ø)
trimeter/_impl.py 60.68% <100.00%> (ø)
trimeter/_tests/test_basics.py 100.00% <100.00%> (ø)

@altendky
Copy link
Member Author

3.6 works with:

+pip freeze
attrs==17.3.0
mock==2.0.0
nose==1.3.7
numpy==1.13.3
pbr==3.1.1
pluggy==0.6.0
py==1.5.2
pytest==3.3.0
six==1.11.0

And 3.7 fails with:

+pip freeze
atomicwrites==1.3.0
attrs==19.1.0
certifi==2019.3.9
importlib-metadata==0.18
mock==4.0.2
more-itertools==7.0.0
nose==1.3.7
numpy==1.16.4
packaging==19.0
pipenv==2018.11.26
pluggy==0.12.0
py==1.8.0
pyparsing==2.4.0
pytest==5.4.3
six==1.12.0
virtualenv==16.6.0
virtualenv-clone==0.5.3
wcwidth==0.1.7
zipp==0.5.1

I think that what is happening is we have the dependency trimeter -> outcomes -> attrs >= 19.2.0 which is ignored while installing the .zip of trimeter because attrs is already present (why?) and then when we install test-requirements.txt one of those deps requires attrs >= 19.1.0 which does trigger an update and while 19.1.0 isn't good enough for outcomes, pip goes ahead and installs latest which does work with outcomes.

So, do we want to jump to actual lockfiles? (complete and pinned test-requirements.txt) Or use a venv so packages don't pre-exist to confuse pip? Or do I need to check for a pip bug report? or... *sigh* :[

@altendky
Copy link
Member Author

Do we want this broken down with multiple CI-failing PRs? Or is it ok as is...

Copy link
Member

@pquentin pquentin left a comment

Choose a reason for hiding this comment

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

Left a comment about Travis config, but we can always fix it later. Thanks for working on this!

sudo: required
- python: 3.7-dev
- python: 3.8-dev
- python: 3.9-dev
Copy link
Member

Choose a reason for hiding this comment

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

For what it's worth, the reason Trio's config is like that is because most tests happen in GitHub Actions. But since Travis has good support for dev versions and PyPy, Trio continues to test those in Travis.

In trimeter's case, it would be better to keep both 3.x and 3.x-dev for each supported version

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks for the explanation. I might try reworking QTrio's GHA configuration first. There's a fair bit of repetition in the way it is now that isn't obviously useful in my head vs. the one big matrix I made over in pytest-twisted for example. But maybe as I implement that in QTrio I'll find an issue, of course.

@pquentin pquentin merged commit e623776 into python-trio:master Sep 3, 2020
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