Skip to content

Conversation

ben9923
Copy link
Contributor

@ben9923 ben9923 commented Aug 23, 2022

Looking at the current release flow I discovered it has 2 issues.

  1. Newly added test seems to make it fail (Added in Expose uv_loop_t pointer for integration with other C-extensions #310, same with Expose uv_version() for libuv API compatibility #491 which moved it to a different module).
  2. musllinux builds fail on dependency installation.

This PR should adress the former (A PR for the latter will follow):
I also employed the discovery CLI command of unittest rather than the custom suite creation script.
Kept a more-standard-named __main__ as a legacy, which replaces the __init__, but its usage is pretty much discouraged (Can't mess with unittest flags, for example).

Error when running tests via cibuildwheel:

====================================================================== ERROR: test_libuv_get_loop_t_ptr (test_libuv_api.Test_UV_libuv) ---------------------------------------------------------------------- Traceback (most recent call last): File "/project/tests/test_libuv_api.py", line 16, in test_libuv_get_loop_t_ptr from tests import cython_helper ModuleNotFoundError: No module named 'tests' 

No regression in tests workflow:

master test workflow:
https://github.com/ben9923/uvloop/actions/runs/2896500138

fix-wheel-tests test workflow:
https://github.com/ben9923/uvloop/actions/runs/2896506757

A different error (later in the process) on release workflow:

master release workflow:
https://github.com/ben9923/uvloop/actions/runs/2896500137

fix-wheel-tests release workflow:
https://github.com/ben9923/uvloop/actions/runs/2896506756

@ben9923 ben9923 force-pushed the ci/fix-wheel-tests branch 2 times, most recently from c70978e to 7af43fd Compare August 31, 2022 22:27
@ben9923
Copy link
Contributor Author

ben9923 commented Sep 2, 2022

@fantix Rebased the PR so GitHub doesn't complain ahead of merging, and tests failed for some reason.
It doesn't appear to be related to my changes, could the tests be a bit flakey?

Seems like I have no permission to re-run it myself, could you either alter the settings somehow or just re-run yourself? :)

Wish this one could be merged soon, cause I also want to add musllinux wheels in time for the next release.
Anyway this PR is a blocker for the release, without it cibuildwheel will fail.

@ben9923 ben9923 force-pushed the ci/fix-wheel-tests branch 2 times, most recently from 1066d7f to 28eab68 Compare September 9, 2022 20:41
Employ unittest discovery CLI, fix (sometimes) broken import.
@fantix
Copy link
Member

fantix commented Sep 10, 2022

Thank you @ben9923 for keeping this up to date! I'm testing the release CI in the ci branch with this PR.

@ben9923
Copy link
Contributor Author

ben9923 commented Sep 10, 2022

@fantix Thanks for having a look!
I see you caught the necessary cibuildwheel upgrade for 3.11 haha, planned to push it separately.

Didn't open a PR for musllinux yet as some tests are failing, so this one will only get you through manylinux build.

Edit: Those dns/tcp errors you see on musl are exactly the ones I saw locally.

@fantix
Copy link
Member

fantix commented Sep 10, 2022

Edit: Those dns/tcp errors you see on musl are exactly the ones I saw locally

Cool, I'll create a new PR to fix them.

@fantix fantix merged commit d6a2b59 into MagicStack:master Sep 10, 2022
fantix added a commit that referenced this pull request Sep 13, 2022
This release adds Python 3.11 support, updates bundled libuv to 1.43.0 and fixes a handful of issues. Changes ======= * Expose uv_loop_t pointer for integration with other C-extensions (#310) (by @pranavtbhat in b332eb8 for #310) * Support python 3.11+ (#473) (by @zeroday0619 in 8e42921 for #473) * Expose libuv uv_fs_event functionality (#474) (by @jensbjorgensen @fantix in 74d381e for #474) * Activate debug mode when `-X dev` is used (by @jack1142 in 637a77a) * Expose uv_version() for libuv API compatibility (#491) (by @fantix in 089f6cb for #491) * Fix loop.getaddrinfo() and tests (#495) (by @fantix in 598b16f for #495) * Bump to libuv 1.43.0 (by @fantix in 94e5e53) Fixes ===== * _TransProtPair is no longer defined in asyncio.events (by @jensbjorgensen in fae5f7f) * use a TypeVar for asyncio.BaseProtocol (#478) (by @graingert in 3aacb35 for #478) * Fix segfault in TimerHandle.when() after cleared (by @jensbjorgensen in c39afff for #469) * Avoid self._errpipe_write double close (#466) (by @graingert in 72140d7 for #466) * Fix typo in test (#456) (by @kianmeng in 033d52d for #456) * Fix potential infinite loop (#446) (by @kfur in ada43c0 for #446) * use a stack of self._fds_to_close to prevent double closes (#481) (by @graingert in 3214cf6 for #481) * Fix incorrect main thread id value forking from a thread (#453) (by @horpto @fantix in e7934c8 for #453) * create_subprocess_exec should treat env={} as empty environment (#439) (#454) (by @byllyfish in e04637e for #439) * Queue write only after processing all buffers (#445) (by @jakirkham @fantix in 9c6ecb6 for #445) * Drop Python 3.6 support for thread ident (by @fantix in 9c37930) * bugfix: write to another transport in resume_writing() fails (#498) (by @fantix in d2deffe for #498) Build ===== * Upgrade GitHub Actions (#477) (#480) (by @cclauss in fcbf422 for #477, 1008694 for #480) * typo `same as same` (by @YoSTEALTH in fedba80) * setup.py: allow to override extra_compile_args (#443) (by @giuliobenetti in a130375 for #443) * Drop hack in setup.py in finalize_options (492) (by @fantix in 2f1bc83 for #492) * Fix tests invocation on release CI worklow (#489) (by @ben9923 in d6a2b59 for #489) Documentation ============= * use asyncio.Runner loop_factory on 3.11+ (#472) (by @graingert in 31ba48c for #472) * Fix CI badge in docs, remove remaining Travis CI references from docs (by @Nothing4You in c6901a7) * Fix typo in README (by @monosans in 73d7253)
@fantix fantix mentioned this pull request Sep 13, 2022
fantix added a commit that referenced this pull request Sep 14, 2022
This release adds Python 3.11 support, updates bundled libuv to 1.43.0 and fixes a handful of issues. Changes ======= * Expose uv_loop_t pointer for integration with other C-extensions (#310) (by @pranavtbhat in b332eb8 for #310) * Support python 3.11+ (#473) (by @zeroday0619 in 8e42921 for #473) * Expose libuv uv_fs_event functionality (#474) (by @jensbjorgensen @fantix in 74d381e for #474) * Activate debug mode when `-X dev` is used (by @jack1142 in 637a77a) * Expose uv_version() for libuv API compatibility (#491) (by @fantix in 089f6cb for #491) * Fix loop.getaddrinfo() and tests (#495) (by @fantix in 598b16f for #495) * Bump to libuv 1.43.0 (by @fantix in 94e5e53) Fixes ===== * _TransProtPair is no longer defined in asyncio.events (by @jensbjorgensen in fae5f7f) * use a TypeVar for asyncio.BaseProtocol (#478) (by @graingert in 3aacb35 for #478) * Fix segfault in TimerHandle.when() after cleared (by @jensbjorgensen in c39afff for #469) * Avoid self._errpipe_write double close (#466) (by @graingert in 72140d7 for #466) * Fix typo in test (#456) (by @kianmeng in 033d52d for #456) * Fix potential infinite loop (#446) (by @kfur in ada43c0 for #446) * use a stack of self._fds_to_close to prevent double closes (#481) (by @graingert in 3214cf6 for #481) * Fix incorrect main thread id value forking from a thread (#453) (by @horpto @fantix in e7934c8 for #453) * create_subprocess_exec should treat env={} as empty environment (#439) (#454) (by @byllyfish in e04637e for #439) * Queue write only after processing all buffers (#445) (by @jakirkham @fantix in 9c6ecb6 for #445) * Drop Python 3.6 support for thread ident (by @fantix in 9c37930) * bugfix: write to another transport in resume_writing() fails (#498) (by @fantix in d2deffe for #498) Build ===== * Upgrade GitHub Actions (#477) (#480) (by @cclauss in fcbf422 for #477, 1008694 for #480) * typo `same as same` (by @YoSTEALTH in fedba80) * setup.py: allow to override extra_compile_args (#443) (by @giuliobenetti in a130375 for #443) * Drop hack in setup.py in finalize_options (492) (by @fantix in 2f1bc83 for #492) * Fix tests invocation on release CI worklow (#489) (by @ben9923 in d6a2b59 for #489) Documentation ============= * use asyncio.Runner loop_factory on 3.11+ (#472) (by @graingert in 31ba48c for #472) * Fix CI badge in docs, remove remaining Travis CI references from docs (by @Nothing4You in c6901a7) * Fix typo in README (by @monosans in 73d7253)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants