Skip to content

Commit

Permalink
Bump pex to v2.1.163. (#356)
Browse files Browse the repository at this point in the history
Also updates the tools lockfile, and added a section to the contributor
guide on what deps there are and how to upgrade them.

---------

Co-authored-by: Benjy Weinberger <benjyw@gmail.com>
  • Loading branch information
kaos and benjyw authored Feb 14, 2024
1 parent c213edb commit fd100d5
Show file tree
Hide file tree
Showing 7 changed files with 119 additions and 106 deletions.
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Release Notes

## 0.10.7

This release upgrades `pex` to `v2.1.163` and the bootstrap Python to `3.9.18`.

## 0.10.6

The bundled Python interpreter has been upgraded to release [`20240107`](
Expand Down
78 changes: 78 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,81 @@ There are just a few guiding principles to keep in mind as alluded to above:
+ The `scie-pants` binary should be extremely stable: It's intended that there is only ever a single
main line of development from which releases are cut and the built-in self-update capability is
used to upgrade with.

## Dependencies

The `scie-pants` project has a few dependencies, and in order to ease maintenance of keeping them
up-to-date, this section details which these are and how to upgrade them.

* The `lift` tool; it is used to build the `scie-pants` binary using a "lift manifest" file.

* The `pants` tool; it is used to manage the Python part of the project.

* The `pex` tool; it is used to package Python packages into executable archives.

* The `ptex` library; it is used to lazyily download required resources in a scie, during runtime.

* Python Build Standalone (PBS) information are included in the scie binary and used when installing
a Python environment.

* The rust dependencies in `Cargo.toml` are managed as usual for any rust project.

* The `scie_jump` library; it is the core of the scie, with features both to build and launch scie
binaries, used by `lift`.

### Upgrading `lift`

The `lift` version is defined by the [`SCIENCE_TAG` in package/src/main.rs](package/src/main.rs).

Releases for `lift`: https://github.com/a-scie/lift/releases

### Upgrading `pants`

The `pants` version is defined in [`pants.toml`](pants.toml).

Releases for `pants`: https://github.com/pantsbuild/pants/releases

### Upgrading `pex`

The `pex` tool is used in a couple of places:

* [package/pbt.toml](package/pbt.toml): Update the `pex` details for the entry in `[[lift.files]]`.

* [tools/lock.json](tools/lock.json): Regenerate this lockfile by running:
`cargo run -p package -- --update-lock`

Releases for `pex`: https://github.com/pantsbuild/pex/releases

Hint: To get the size and hash values, this one-liner is useful:

curl -L $URL | tee >(wc -c) >(shasum -a 256) >/dev/null

### Upgrading `ptex`

The `ptex` version is defined in [package/pbt.toml](package/pbt.toml) under the `[lift.ptex]` key.

There is also a reference to `ptex` version for bootstrap purposes in [`BOOTSTRAP_PTEX_TAG`](package/src/utils/build.rs).

Releases for `ptex`: https://github.com/a-scie/ptex/releases

### Upgrading `PBS`

The versions of Python Build Standalone to support running `pants` with is defined in
[package/scie-pants.toml](package/scie-pants.toml) under the `[[lift.interpreters]]` group. Make
sure to also update the `members` for the `[[lift.interpreter_groups]]` entry `id=cpython` if
adding/removing interpreters.

Releases for `PBS`: https://github.com/indygreg/python-build-standalone/releases

### Upgrading rust dependencies

This is done by `dependabot` using Pull Requests.

### Upgrading `scie-jump`

The `scie-jump` is referenced from lift manifests under the `[lift.scie_jump]` key:

* [package/pbt.toml](package/pbt.toml)
* [package/scie-pants.toml](package/scie-pants.toml)

Releases of `scie-jump`: https://github.com/a-scie/jump/releases
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ members = [
[package]
name = "scie-pants"
description = "Protects your Pants from the elements."
version = "0.10.6"
version = "0.10.7"
edition = "2021"
authors = [
"John Sirois <john.sirois@gmail.com>",
Expand Down
4 changes: 2 additions & 2 deletions package/pbt.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ version = "3.8.18"
[[lift.files]]
name = "pex"
type = "blob"
digest = { size = 3671772, fingerprint = "83c3090938b4d276703864c34ba50bcb3616db0663c54b56dd0521a668d9555f" }
source = { url = "https://github.com/pantsbuild/pex/releases/download/v2.1.159/pex", lazy = true }
digest = { size = 3677552, fingerprint = "21cb16072357af4b1f4c4e91d2f4d3b00a0f6cc3b0470da65e7176bbac17ec35" }
source = { url = "https://github.com/pantsbuild/pex/releases/download/v2.1.163/pex", lazy = true }

[[lift.commands]]
name = "pex"
Expand Down
65 changes: 0 additions & 65 deletions tools/lift.json

This file was deleted.

70 changes: 33 additions & 37 deletions tools/lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,42 +24,37 @@
"artifacts": [
{
"algorithm": "sha256",
"hash": "29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836",
"url": "https://files.pythonhosted.org/packages/fb/6e/6f83bf616d2becdf333a1640f1d463fef3150e2e926b7010cb0f81c95e88/attrs-22.2.0-py3-none-any.whl"
"hash": "99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1",
"url": "https://files.pythonhosted.org/packages/e0/44/827b2a91a5816512fcaf3cc4ebc465ccd5d598c45cefa6703fcf4a79018f/attrs-23.2.0-py3-none-any.whl"
}
],
"project_name": "attrs",
"requires_dists": [
"attrs[docs,tests]; extra == \"dev\"",
"attrs[tests-mypy]; extra == \"tests-no-zope\"",
"attrs[tests-no-zope]; extra == \"tests\"",
"attrs[tests]; extra == \"cov\"",
"attrs[tests]; extra == \"dev\"",
"cloudpickle; platform_python_implementation == \"CPython\" and extra == \"tests-no-zope\"",
"cloudpickle; platform_python_implementation == \"CPython\" and extra == \"tests_no_zope\"",
"coverage-enable-subprocess; extra == \"cov\"",
"coverage[toml]>=5.3; extra == \"cov\"",
"furo; extra == \"docs\"",
"hypothesis; extra == \"tests-no-zope\"",
"hypothesis; extra == \"tests_no_zope\"",
"mypy<0.990,>=0.971; platform_python_implementation == \"CPython\" and extra == \"tests-no-zope\"",
"mypy<0.990,>=0.971; platform_python_implementation == \"CPython\" and extra == \"tests_no_zope\"",
"importlib-metadata; python_version < \"3.8\"",
"mypy>=1.6; (platform_python_implementation == \"CPython\" and python_version >= \"3.8\") and extra == \"tests-mypy\"",
"myst-parser; extra == \"docs\"",
"pre-commit; extra == \"dev\"",
"pympler; extra == \"tests-no-zope\"",
"pympler; extra == \"tests_no_zope\"",
"pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version < \"3.11\") and extra == \"tests-no-zope\"",
"pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version < \"3.11\") and extra == \"tests_no_zope\"",
"pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version >= \"3.8\") and extra == \"tests-mypy\"",
"pytest-xdist[psutil]; extra == \"tests-no-zope\"",
"pytest-xdist[psutil]; extra == \"tests_no_zope\"",
"pytest>=4.3.0; extra == \"tests-no-zope\"",
"pytest>=4.3.0; extra == \"tests_no_zope\"",
"sphinx-notfound-page; extra == \"docs\"",
"sphinx; extra == \"docs\"",
"sphinxcontrib-towncrier; extra == \"docs\"",
"towncrier; extra == \"docs\"",
"zope.interface; extra == \"docs\"",
"zope.interface; extra == \"tests\""
"zope-interface; extra == \"docs\"",
"zope-interface; extra == \"tests\""
],
"requires_python": ">=3.6",
"version": "22.2.0"
"requires_python": ">=3.7",
"version": "23.2.0"
},
{
"artifacts": [
Expand All @@ -78,32 +73,32 @@
"artifacts": [
{
"algorithm": "sha256",
"hash": "9382ffd9fe7ddf76d5399b3ec947ef0efc6e17cbbf672a3f995b9cd2f745ee0c",
"url": "https://files.pythonhosted.org/packages/61/27/c9a6943207f258fdfcc74ca54698a9207cf230d56df47fbdd358da861b22/conscript-0.1.5-py2.py3-none-any.whl"
"hash": "5194bfc2a4507de8f88658b8dc8f42b315f63063c3fcd5b5a8312b0232e74289",
"url": "https://files.pythonhosted.org/packages/79/7e/ecba032bbefb06dbe8e9fb2711801e65d3b0afa7f82aa1e12ea64b356172/conscript-0.1.7-py2.py3-none-any.whl"
}
],
"project_name": "conscript",
"requires_dists": [
"importlib-metadata; python_version == \"3.6\" or python_version == \"3.7\"",
"setuptools; python_version <= \"3.5\""
],
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<3.12,>=2.7",
"version": "0.1.5"
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<3.14,>=2.7",
"version": "0.1.7"
},
{
"artifacts": [
{
"algorithm": "sha256",
"hash": "327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e",
"url": "https://files.pythonhosted.org/packages/e8/14/9c6a7e5f12294ccd6975a45e02899ed25468cd7c2c86f3d9725f387f9f5f/exceptiongroup-1.1.0-py3-none-any.whl"
"hash": "4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14",
"url": "https://files.pythonhosted.org/packages/b8/9a/5028fd52db10e600f1c4674441b968cf2ea4959085bfb5b99fb1250e5f68/exceptiongroup-1.2.0-py3-none-any.whl"
}
],
"project_name": "exceptiongroup",
"requires_dists": [
"pytest>=6; extra == \"test\""
],
"requires_python": ">=3.7",
"version": "1.1.0"
"version": "1.2.0"
},
{
"artifacts": [
Expand All @@ -122,33 +117,32 @@
"artifacts": [
{
"algorithm": "sha256",
"hash": "714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2",
"url": "https://files.pythonhosted.org/packages/ed/35/a31aed2993e398f6b09a790a181a7927eb14610ee8bbf02dc14d31677f1c/packaging-23.0-py3-none-any.whl"
"hash": "8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7",
"url": "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl"
}
],
"project_name": "packaging",
"requires_dists": [],
"requires_python": ">=3.7",
"version": "23.0"
"version": "23.2"
},
{
"artifacts": [
{
"algorithm": "sha256",
"hash": "74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3",
"url": "https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl"
"hash": "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981",
"url": "https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl"
}
],
"project_name": "pluggy",
"requires_dists": [
"importlib-metadata>=0.12; python_version < \"3.8\"",
"pre-commit; extra == \"dev\"",
"pytest-benchmark; extra == \"testing\"",
"pytest; extra == \"testing\"",
"tox; extra == \"dev\""
],
"requires_python": ">=3.6",
"version": "1.0.0"
"requires_python": ">=3.8",
"version": "1.4.0"
},
{
"artifacts": [
Expand Down Expand Up @@ -196,21 +190,23 @@
"artifacts": [
{
"algorithm": "sha256",
"hash": "07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b",
"url": "https://files.pythonhosted.org/packages/2b/df/971fa5db3250bb022105d17f340339370f73d502e65e687a94ca1a4c4b1f/tomlkit-0.11.6-py3-none-any.whl"
"hash": "b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba",
"url": "https://files.pythonhosted.org/packages/6e/43/159750d32481f16e34cc60090b53bc0a14314ad0c1f67a9bb64f3f3a0551/tomlkit-0.12.3-py3-none-any.whl"
}
],
"project_name": "tomlkit",
"requires_dists": [],
"requires_python": ">=3.6",
"version": "0.11.6"
"requires_python": ">=3.7",
"version": "0.12.3"
}
],
"platform_tag": null
}
],
"only_builds": [],
"only_wheels": [],
"path_mappings": {},
"pex_version": "2.1.118",
"pex_version": "2.1.163",
"pip_version": "22.3",
"prefer_older_binary": false,
"requirements": [
Expand Down

0 comments on commit fd100d5

Please sign in to comment.