| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
With credit to @graingert via twisted/ldaptor#207
…builds via GitHub Actions; the 'push' event will have already run a build for commits related to them
|
See https://github.com/jayaddison/html5lib-python/runs/1677406878 for example GitHub Actions build output corresponding to c217133. |
Sorry, something went wrong.
|
GitHub Actions provides 20 parallel workers, have you considered using a matrix to test each Python version in its own worker rather than all in parallel in a single worker? Should be much quicker. |
Sorry, something went wrong.
|
But otherwise, big 👍 for moving from Travis CI to GHA. |
Sorry, something went wrong.
|
@hugovk Thanks! Using a matrix strategy would seem ideal - the challenge is the combinatorial tox envlist, since the Python interpreter versions provided in GitHub Actions don't correspond to the tox.ini-defined interpreter names. The tox-gh-actions plugin is fairly widely adopted to solve more-or-less this problem, and it does that by reading a Python-version-to-environment mapping from the tox.ini file (example). It's worth pausing and thinking about this change for a little while before merge, I think. There may be a way to achieve the worker-per-environment goal in a different way - or perhaps it should be reported / discussed upstream. |
Sorry, something went wrong.
|
tox-dev/tox#659 may be a relevant issue to track relating to this |
Sorry, something went wrong.
|
The latest commits re-attempt a matrix build strategy via GitHub Actions; the generic py prefix for tox generative names should map to the 'current default Python interpreter', so the generative factor is removed from tox.ini and replaced by the GHA YAML configuration. This does have an unfortunate side-effect that it'll be trickier for developers with a local checkout of the repository to test the package against all Python versions by simply running tox. Instead it will test against their default Python interpreter. That doesn't seem perfect. |
Sorry, something went wrong.
| runs-on: ubuntu-latest | ||
| strategy: | ||
| matrix: | ||
| python: [2.7, 3.5, 3.6, 3.7, 3.8, pypy-2.7, pypy3] |
There was a problem hiding this comment.
NB for review: do pypy-2.7 and pypy3 respectively correspond to pypy and pypy3 as previously listed in tox.ini?
Sorry, something went wrong.
Ok, my mistake previously @hugovk; I overcomplicated things. This does look feasible after all, with one caveat/tradeoff regarding developer experience for local checkouts. See https://github.com/jayaddison/html5lib-python/runs/1691598506 for an example multi-pipeline build via GHA using a matrix strategy |
Sorry, something went wrong.
|
... and perhaps that local checkout dev experience issue is now resolved too. Each GHA worker now runs tox -e py, invoking the test suite for a single Python interpreter, as configured via the matrix worker environment list. The remaining tradeoff/downside is that the environment list now exists in tox.ini (for local workflows) and is duplicated in the GHA YAML file. https://github.com/jayaddison/html5lib-python/actions/runs/481474149 contains the latest build output as per commit 19cf7f7 |
Sorry, something went wrong.
|
Ping @gsnedders @jgraham @willkg |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Provides a migration path for #525.