Ah ha. We cannot use Python 3.9 in CI because the ...
# development
h
Ah ha. We cannot use Python 3.9 in CI because the Toolchain plugin depends on pantsbuild.pants and there is no released wheel for 3.9 I think the fix is to disable Toolchain when building with 3.9. Once we release 3.9 wheels, we can revert that. Thoughts?
cc @polite-garden-50641
Alternatively, should the Toolchain plugin not say in its setup.py that it depends on pantsbuild.pants? This dependency implies to me that we are installing
pantsbuild.pants==2.3.0.dev0
when installing the plugin, despite running from source on the master branch - I'm surprised that works
Hm, if possible, it would be much easier if we could temporarily disable TC. We'd get out 2.3.0.dev1 asap with 3.9 wheels, then do a Toolchain plugin update, then restore the plugin. Hopefully it wouldn't be off for more than a few hours / a day Is that okay, Asher? Only turning off the plugin for the 3.9 jobs is a bit more complex
(Talked with Asher: we agreed to temporarily disable Toolchain's plugin to faciliate this change)
p
FWIW, the dependency on
pantsbuild.pants
is inferred by pants... we don't explicitly specify it in the BUILD files.
h
Yep, agreed. We can use
!!
to tell Pants to ignore it though
I don't fully grok how the plugin resolution works, but I think it makes sense to do that? Otherwise toolchain's plugin will always be pinned to a single Pants release
p
I tried to do that on the
python_distribution
target, by adding '!!3rdparty/python:pantsbuild.pants', it doesn't work https://www.pantsbuild.org/docs/targets#dependencies-and-dependency-inference
👀 1
Screen Shot 2021-01-14 at 11.11.22 AM.png
h
What does
./pants dependencies --transitive path/to:toolchain-pants-plugin
say?
p
that change impact the output of that command (i.e. with the change
3rdparty/python:pantsbuild.pants
no longer shows up in the list)
👍 1
but it doesn't prevent it from getting into the generated setup.py
👀 1
feels like a bug in pants... maybe python_distribution is not handling things properly.
this is a bug, ticket here: https://github.com/pantsbuild/pants/issues/11469 I added a test to repo.
h
Thank you for confirming! We had a meeting that we really really need to get out dogfooding of remote caching, so I'm going back to that being my singular focus and we are putting a pause on landing Py39 till next week. (I'll re-enable BuildSense plugin) Sound okay to wait to get to this ticket until then?
p
yes. this is not urgent.
I figured I'll add a test (it was easy enough) to help whoever ends up fixing this, since I find that is a little bit hard to explain the bug... so a test just repos it.
💯 1