04/28/2020, 4:54 PM
Yes, it does for Python in particular. Pants has been using remote execution and remote caching since November for its own repository. Remote caching makes CI a charm - if you push a change that only updates one file, usually you only need to rerun 1-2 tests and everything else uses the cache. With upgrading, we recommend bumping one major version at a time to catch deprecation warnings. In particular, change the version in your
, then run
./pants list :: > /dev/null
, and
./pants filedeps :: > /dev/null
to see if there are any deprecations. You don’t need to have a separate pull request for each version bump, of course; you can combine them all into one pull request. But, changing it incrementally will make for a much smoother upgrade.
As soon as you get to Pants 1.15.x, you’ll want to re-download the
script by running
curl -L -O <>
. In 1.15.x, we added support for running Pants with Python 3 (which results in a 15% speedup). You need to update the script so that it knows how to use Python 3.
Highlights of some nice upgrades from 1.13.x to 1.27.0rc0: * The V2 Python implementation was added. It has better caching, better parallelism, avoids unnecessary work V1 did, and works with remote execution and buildfarm. * File arguments. You can now say
./pants fmt
, instead of needing to use address arguments like
. Pants will figure out the right thing to do. If using the V2 Python implementation, Pants will only run on that specified file, rather than the entire owning target. * Added support for Flake8, Pylint, Bandit, Black, and Docformatter. * Better output for
./pants goals
./pants help
, and
./pants target-types
. * Simpler
field in BUILD files. There’s no more
. Now, it’s just
['*.py', '!']
, where the
means to exclude the glob. * Support for
instead of
, which removes a lot of gotchas and makes it easier to edit the config file.


05/14/2020, 10:42 AM
Is Scoot the preferred RE server for Pants?