Upgrade pantsbuild from 2.18.3 to 2.20.3
The commits step through updating from 2.18 to 2.19 to 2.20.
This PR also includes a CI fix as a GHA image update seems to have included a tmux update that broke our tmux ls output regex in tools/launchdev.sh.
Interesting new features in 2.19
- https://www.pantsbuild.org/blog/2024/01/24/pants-2-19
- https://github.com/pantsbuild/pants/blob/2.19.x/src/python/pants/notes/2.19.x.md
Pants can auto retry tests to deal with flaky tests in CI. I enabled that in pants.ci.toml so it retries a test up to 3x.
Interesting new features in 2.20
- https://www.pantsbuild.org/blog/2024/03/27/pants-2-20
- https://github.com/pantsbuild/pants/blob/2.20.x/src/python/pants/notes/2.20.x.md
Pants can now experimentally use GHA as a remote cache.
Pants has a pex_binary target for generating targets that run a particular entry point or script. Pants 2.20 gained a pex_binary(executable=...) field which would allow us to wrap our st2-* python scripts in a pex at some point. This feature means that pex will embed the script contents instead of attempting to import from a file that is not a valid package name (The "-" character is not valid). For now, I just left a comment in a BUILD file about this.
Note: I asked for this feature some time ago. It was first added to pex 2.1.93, and then to pants. Now its available.
pants-plugins lockfile diffs
From 2.18 to 2.19
Lockfile diff: lockfiles/pants-plugins.lock [pants-plugins]
== Upgraded dependencies ==
pantsbuild-pants 2.18.3 --> 2.19.3
pantsbuild-pants-testutil 2.18.3 --> 2.19.3
pex 2.1.137 --> 2.2.1
pluggy 1.4.0 --> 1.5.0
psutil 5.9.0 --> 5.9.8
ujson 5.9.0 --> 5.10.0
From 2.19 to 2.20
Lockfile diff: lockfiles/pants-plugins.lock [pants-plugins]
== Upgraded dependencies ==
attrs 23.2.0 --> 24.1.0
pantsbuild-pants 2.19.3 --> 2.20.3
pantsbuild-pants-testutil 2.19.3 --> 2.20.3