Skip to content

Commit fd100d5

Browse files
kaosbenjyw
andauthored
Bump pex to v2.1.163. (#356)
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 <[email protected]>
1 parent c213edb commit fd100d5

File tree

7 files changed

+119
-106
lines changed

7 files changed

+119
-106
lines changed

CHANGES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Release Notes
22

3+
## 0.10.7
4+
5+
This release upgrades `pex` to `v2.1.163` and the bootstrap Python to `3.9.18`.
6+
37
## 0.10.6
48

59
The bundled Python interpreter has been upgraded to release [`20240107`](

CONTRIBUTING.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,81 @@ There are just a few guiding principles to keep in mind as alluded to above:
7979
+ The `scie-pants` binary should be extremely stable: It's intended that there is only ever a single
8080
main line of development from which releases are cut and the built-in self-update capability is
8181
used to upgrade with.
82+
83+
## Dependencies
84+
85+
The `scie-pants` project has a few dependencies, and in order to ease maintenance of keeping them
86+
up-to-date, this section details which these are and how to upgrade them.
87+
88+
* The `lift` tool; it is used to build the `scie-pants` binary using a "lift manifest" file.
89+
90+
* The `pants` tool; it is used to manage the Python part of the project.
91+
92+
* The `pex` tool; it is used to package Python packages into executable archives.
93+
94+
* The `ptex` library; it is used to lazyily download required resources in a scie, during runtime.
95+
96+
* Python Build Standalone (PBS) information are included in the scie binary and used when installing
97+
a Python environment.
98+
99+
* The rust dependencies in `Cargo.toml` are managed as usual for any rust project.
100+
101+
* The `scie_jump` library; it is the core of the scie, with features both to build and launch scie
102+
binaries, used by `lift`.
103+
104+
### Upgrading `lift`
105+
106+
The `lift` version is defined by the [`SCIENCE_TAG` in package/src/main.rs](package/src/main.rs).
107+
108+
Releases for `lift`: https://github.com/a-scie/lift/releases
109+
110+
### Upgrading `pants`
111+
112+
The `pants` version is defined in [`pants.toml`](pants.toml).
113+
114+
Releases for `pants`: https://github.com/pantsbuild/pants/releases
115+
116+
### Upgrading `pex`
117+
118+
The `pex` tool is used in a couple of places:
119+
120+
* [package/pbt.toml](package/pbt.toml): Update the `pex` details for the entry in `[[lift.files]]`.
121+
122+
* [tools/lock.json](tools/lock.json): Regenerate this lockfile by running:
123+
`cargo run -p package -- --update-lock`
124+
125+
Releases for `pex`: https://github.com/pantsbuild/pex/releases
126+
127+
Hint: To get the size and hash values, this one-liner is useful:
128+
129+
curl -L $URL | tee >(wc -c) >(shasum -a 256) >/dev/null
130+
131+
### Upgrading `ptex`
132+
133+
The `ptex` version is defined in [package/pbt.toml](package/pbt.toml) under the `[lift.ptex]` key.
134+
135+
There is also a reference to `ptex` version for bootstrap purposes in [`BOOTSTRAP_PTEX_TAG`](package/src/utils/build.rs).
136+
137+
Releases for `ptex`: https://github.com/a-scie/ptex/releases
138+
139+
### Upgrading `PBS`
140+
141+
The versions of Python Build Standalone to support running `pants` with is defined in
142+
[package/scie-pants.toml](package/scie-pants.toml) under the `[[lift.interpreters]]` group. Make
143+
sure to also update the `members` for the `[[lift.interpreter_groups]]` entry `id=cpython` if
144+
adding/removing interpreters.
145+
146+
Releases for `PBS`: https://github.com/indygreg/python-build-standalone/releases
147+
148+
### Upgrading rust dependencies
149+
150+
This is done by `dependabot` using Pull Requests.
151+
152+
### Upgrading `scie-jump`
153+
154+
The `scie-jump` is referenced from lift manifests under the `[lift.scie_jump]` key:
155+
156+
* [package/pbt.toml](package/pbt.toml)
157+
* [package/scie-pants.toml](package/scie-pants.toml)
158+
159+
Releases of `scie-jump`: https://github.com/a-scie/jump/releases

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ members = [
66
[package]
77
name = "scie-pants"
88
description = "Protects your Pants from the elements."
9-
version = "0.10.6"
9+
version = "0.10.7"
1010
edition = "2021"
1111
authors = [
1212
"John Sirois <[email protected]>",

package/pbt.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ version = "3.8.18"
2020
[[lift.files]]
2121
name = "pex"
2222
type = "blob"
23-
digest = { size = 3671772, fingerprint = "83c3090938b4d276703864c34ba50bcb3616db0663c54b56dd0521a668d9555f" }
24-
source = { url = "https://github.com/pantsbuild/pex/releases/download/v2.1.159/pex", lazy = true }
23+
digest = { size = 3677552, fingerprint = "21cb16072357af4b1f4c4e91d2f4d3b00a0f6cc3b0470da65e7176bbac17ec35" }
24+
source = { url = "https://github.com/pantsbuild/pex/releases/download/v2.1.163/pex", lazy = true }
2525

2626
[[lift.commands]]
2727
name = "pex"

tools/lift.json

Lines changed: 0 additions & 65 deletions
This file was deleted.

tools/lock.json

Lines changed: 33 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -24,42 +24,37 @@
2424
"artifacts": [
2525
{
2626
"algorithm": "sha256",
27-
"hash": "29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836",
28-
"url": "https://files.pythonhosted.org/packages/fb/6e/6f83bf616d2becdf333a1640f1d463fef3150e2e926b7010cb0f81c95e88/attrs-22.2.0-py3-none-any.whl"
27+
"hash": "99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1",
28+
"url": "https://files.pythonhosted.org/packages/e0/44/827b2a91a5816512fcaf3cc4ebc465ccd5d598c45cefa6703fcf4a79018f/attrs-23.2.0-py3-none-any.whl"
2929
}
3030
],
3131
"project_name": "attrs",
3232
"requires_dists": [
33-
"attrs[docs,tests]; extra == \"dev\"",
33+
"attrs[tests-mypy]; extra == \"tests-no-zope\"",
3434
"attrs[tests-no-zope]; extra == \"tests\"",
3535
"attrs[tests]; extra == \"cov\"",
36+
"attrs[tests]; extra == \"dev\"",
3637
"cloudpickle; platform_python_implementation == \"CPython\" and extra == \"tests-no-zope\"",
37-
"cloudpickle; platform_python_implementation == \"CPython\" and extra == \"tests_no_zope\"",
38-
"coverage-enable-subprocess; extra == \"cov\"",
3938
"coverage[toml]>=5.3; extra == \"cov\"",
4039
"furo; extra == \"docs\"",
4140
"hypothesis; extra == \"tests-no-zope\"",
42-
"hypothesis; extra == \"tests_no_zope\"",
43-
"mypy<0.990,>=0.971; platform_python_implementation == \"CPython\" and extra == \"tests-no-zope\"",
44-
"mypy<0.990,>=0.971; platform_python_implementation == \"CPython\" and extra == \"tests_no_zope\"",
41+
"importlib-metadata; python_version < \"3.8\"",
42+
"mypy>=1.6; (platform_python_implementation == \"CPython\" and python_version >= \"3.8\") and extra == \"tests-mypy\"",
4543
"myst-parser; extra == \"docs\"",
44+
"pre-commit; extra == \"dev\"",
4645
"pympler; extra == \"tests-no-zope\"",
47-
"pympler; extra == \"tests_no_zope\"",
48-
"pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version < \"3.11\") and extra == \"tests-no-zope\"",
49-
"pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version < \"3.11\") and extra == \"tests_no_zope\"",
46+
"pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version >= \"3.8\") and extra == \"tests-mypy\"",
5047
"pytest-xdist[psutil]; extra == \"tests-no-zope\"",
51-
"pytest-xdist[psutil]; extra == \"tests_no_zope\"",
5248
"pytest>=4.3.0; extra == \"tests-no-zope\"",
53-
"pytest>=4.3.0; extra == \"tests_no_zope\"",
5449
"sphinx-notfound-page; extra == \"docs\"",
5550
"sphinx; extra == \"docs\"",
5651
"sphinxcontrib-towncrier; extra == \"docs\"",
5752
"towncrier; extra == \"docs\"",
58-
"zope.interface; extra == \"docs\"",
59-
"zope.interface; extra == \"tests\""
53+
"zope-interface; extra == \"docs\"",
54+
"zope-interface; extra == \"tests\""
6055
],
61-
"requires_python": ">=3.6",
62-
"version": "22.2.0"
56+
"requires_python": ">=3.7",
57+
"version": "23.2.0"
6358
},
6459
{
6560
"artifacts": [
@@ -78,32 +73,32 @@
7873
"artifacts": [
7974
{
8075
"algorithm": "sha256",
81-
"hash": "9382ffd9fe7ddf76d5399b3ec947ef0efc6e17cbbf672a3f995b9cd2f745ee0c",
82-
"url": "https://files.pythonhosted.org/packages/61/27/c9a6943207f258fdfcc74ca54698a9207cf230d56df47fbdd358da861b22/conscript-0.1.5-py2.py3-none-any.whl"
76+
"hash": "5194bfc2a4507de8f88658b8dc8f42b315f63063c3fcd5b5a8312b0232e74289",
77+
"url": "https://files.pythonhosted.org/packages/79/7e/ecba032bbefb06dbe8e9fb2711801e65d3b0afa7f82aa1e12ea64b356172/conscript-0.1.7-py2.py3-none-any.whl"
8378
}
8479
],
8580
"project_name": "conscript",
8681
"requires_dists": [
8782
"importlib-metadata; python_version == \"3.6\" or python_version == \"3.7\"",
8883
"setuptools; python_version <= \"3.5\""
8984
],
90-
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<3.12,>=2.7",
91-
"version": "0.1.5"
85+
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<3.14,>=2.7",
86+
"version": "0.1.7"
9287
},
9388
{
9489
"artifacts": [
9590
{
9691
"algorithm": "sha256",
97-
"hash": "327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e",
98-
"url": "https://files.pythonhosted.org/packages/e8/14/9c6a7e5f12294ccd6975a45e02899ed25468cd7c2c86f3d9725f387f9f5f/exceptiongroup-1.1.0-py3-none-any.whl"
92+
"hash": "4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14",
93+
"url": "https://files.pythonhosted.org/packages/b8/9a/5028fd52db10e600f1c4674441b968cf2ea4959085bfb5b99fb1250e5f68/exceptiongroup-1.2.0-py3-none-any.whl"
9994
}
10095
],
10196
"project_name": "exceptiongroup",
10297
"requires_dists": [
10398
"pytest>=6; extra == \"test\""
10499
],
105100
"requires_python": ">=3.7",
106-
"version": "1.1.0"
101+
"version": "1.2.0"
107102
},
108103
{
109104
"artifacts": [
@@ -122,33 +117,32 @@
122117
"artifacts": [
123118
{
124119
"algorithm": "sha256",
125-
"hash": "714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2",
126-
"url": "https://files.pythonhosted.org/packages/ed/35/a31aed2993e398f6b09a790a181a7927eb14610ee8bbf02dc14d31677f1c/packaging-23.0-py3-none-any.whl"
120+
"hash": "8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7",
121+
"url": "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl"
127122
}
128123
],
129124
"project_name": "packaging",
130125
"requires_dists": [],
131126
"requires_python": ">=3.7",
132-
"version": "23.0"
127+
"version": "23.2"
133128
},
134129
{
135130
"artifacts": [
136131
{
137132
"algorithm": "sha256",
138-
"hash": "74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3",
139-
"url": "https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl"
133+
"hash": "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981",
134+
"url": "https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl"
140135
}
141136
],
142137
"project_name": "pluggy",
143138
"requires_dists": [
144-
"importlib-metadata>=0.12; python_version < \"3.8\"",
145139
"pre-commit; extra == \"dev\"",
146140
"pytest-benchmark; extra == \"testing\"",
147141
"pytest; extra == \"testing\"",
148142
"tox; extra == \"dev\""
149143
],
150-
"requires_python": ">=3.6",
151-
"version": "1.0.0"
144+
"requires_python": ">=3.8",
145+
"version": "1.4.0"
152146
},
153147
{
154148
"artifacts": [
@@ -196,21 +190,23 @@
196190
"artifacts": [
197191
{
198192
"algorithm": "sha256",
199-
"hash": "07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b",
200-
"url": "https://files.pythonhosted.org/packages/2b/df/971fa5db3250bb022105d17f340339370f73d502e65e687a94ca1a4c4b1f/tomlkit-0.11.6-py3-none-any.whl"
193+
"hash": "b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba",
194+
"url": "https://files.pythonhosted.org/packages/6e/43/159750d32481f16e34cc60090b53bc0a14314ad0c1f67a9bb64f3f3a0551/tomlkit-0.12.3-py3-none-any.whl"
201195
}
202196
],
203197
"project_name": "tomlkit",
204198
"requires_dists": [],
205-
"requires_python": ">=3.6",
206-
"version": "0.11.6"
199+
"requires_python": ">=3.7",
200+
"version": "0.12.3"
207201
}
208202
],
209203
"platform_tag": null
210204
}
211205
],
206+
"only_builds": [],
207+
"only_wheels": [],
212208
"path_mappings": {},
213-
"pex_version": "2.1.118",
209+
"pex_version": "2.1.163",
214210
"pip_version": "22.3",
215211
"prefer_older_binary": false,
216212
"requirements": [

0 commit comments

Comments
 (0)