Another potential solution would be to _not_ use the sdist task to build the tarball and let tox do it. Tox should install cython on supported platforms before running sdist itself (which it does by default unless you explicitly provide it with a tarball, which we are doing). This has the added benefit of one less virtualenv. Right now we create a virtualenv to build the sdist tarball, then we create another virtualenv to run tox, then tox creates a virtualenv to run the task. It's unclear (to me) whether the tarball is rebuilt for each tox task or if it's reused.
-chad On Wed, Nov 6, 2019 at 6:13 PM Udi Meiri <eh...@google.com> wrote: > I opened this bug today after commenting > <https://github.com/apache/beam/pull/9056#discussion_r343260172> on > Chad's type hints PR. > https://issues.apache.org/jira/browse/BEAM-8572?filter=-1 > > I am 95% sure that our Precommit tests are using tarballs that are built > without Cython (including the Cython tasks). > > I'm NOT currently working on fixing this. One solution might be to add an > additional task (sdistCython) and tell gradle that sdist and the new task > should not run concurrently. > Does anyone want to take this up? >