st2 icon indicating copy to clipboard operation
st2 copied to clipboard

Upgrade pantsbuild from 2.18.3 to 2.20.3

Open cognifloyd opened this issue 1 year ago • 0 comments

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

cognifloyd avatar May 18 '24 00:05 cognifloyd