Skip to content

Commit

Permalink
Switch releases to a single multi-pex. (#698)
Browse files Browse the repository at this point in the history
Fixes #654
  • Loading branch information
jsirois authored Apr 3, 2019
1 parent 8ffb208 commit 442ce79
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 46 deletions.
48 changes: 16 additions & 32 deletions RELEASE.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,15 @@ local commit:
::

$ git log --stat -1
commit 47c26d746046a8ab21bd3cb3bb782ce5f018a369 (HEAD -> master, tag: v1.4.7, origin/master, origin/HEAD)
commit 8ffb208eb8cc597a4a486b212e0f6d3a12416a09 (HEAD -> master, tag: v1.6.5, origin/master, origin/HEAD)
Author: John Sirois <[email protected]>
Date: Tue Sep 25 16:06:26 2018 -0600
Date: Fri Mar 29 17:53:00 2019 -0700

Prepare the 1.4.7 release. (#556)
Fixes #555
Prepare the 1.6.5 release. (#697)

CHANGES.rst | 8 ++++++++
pex/version.py | 2 +-
setup.py | 1 +
3 files changed, 10 insertions(+), 1 deletion(-)
2 files changed, 9 insertions(+), 1 deletion(-)

Push to Master
--------------
Expand All @@ -36,7 +33,7 @@ Tag, push and watch Travis CI go green:

::

$ git tag --sign -am 'Release 1.4.7' v1.4.7
$ git tag --sign -am 'Release 1.6.5' v1.6.5
$ git push --tags origin HEAD

PyPI Release
Expand All @@ -57,7 +54,7 @@ Dogfood
$ pip install --no-cache-dir --upgrade pex
...
$ pex --version
pex 1.4.7
pex 1.6.5

Github Release
==============
Expand All @@ -67,49 +64,36 @@ Prepare binary assets

::

$ tox -e py27-package
$ tox -e package
...
$ ./dist/pex27 --version
pex27 1.4.7

$ tox -e py37-package
...
$ ./dist/pex37 --version
pex36 1.4.7
$ ./dist/pex --version
pex 1.6.5

Craft the Release
-----------------

Open a tab on prior release as a template:

- https://github.com/pantsbuild/pex/releases/edit/v1.4.6
- https://github.com/pantsbuild/pex/releases/edit/v1.6.4

Open a tab to construct the current:

- https://github.com/pantsbuild/pex/releases/new?tag=v1.4.7
- https://github.com/pantsbuild/pex/releases/new?tag=v1.6.5

1. Use "Release <VERSION>" as the release name (e.g. "Release 1.4.7")
1. Use "Release <VERSION>" as the release name (e.g. "Release 1.6.5")
2. Copy and paste the most recent CHANGES.rst section.
3. Adapt the syntax from RestructuredText to Markdown (e.g. ``#ID <links>`` -> ``#ID``).
4. Upload both the ``pex27`` and ``pex37`` artifacts.
4. Upload the ``pex`` artifact.

Check your work
---------------

::

$ curl -L https://github.com/pantsbuild/pex/releases/download/v1.4.7/pex27 -O
$ curl -L https://github.com/pantsbuild/pex/releases/download/v1.6.5/pex -O
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 578 0 578 0 0 525 0 --:--:-- 0:00:01 --:--:-- 525
100 1450k 100 1450k 0 0 128k 0 0:00:11 0:00:11 --:--:-- 139k
$ ./pex27 --version
pex27 1.4.7

$ curl -L https://github.com/pantsbuild/pex/releases/download/v1.4.7/pex37 -O
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 578 0 578 0 0 296 0 --:--:-- 0:00:01 --:--:-- 296
100 1406k 100 1406k 0 0 131k 0 0:00:10 0:00:10 --:--:-- 256k
$ ./pex37 --version
pex37 1.4.7
$ ./pex --version
pex 1.6.5
25 changes: 11 additions & 14 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -180,20 +180,17 @@ commands = pex {posargs:}
[testenv:py37-run]
commands = pex {posargs:}

[testenv:py27-package]
commands = pex --cache-dir {envtmpdir}/buildcache requests . -o dist/pex27 -e pex.bin.pex:main -v

[testenv:py34-package]
commands = pex --cache-dir {envtmpdir}/buildcache requests . -o dist/pex34 -e pex.bin.pex:main -v

[testenv:py35-package]
commands = pex --cache-dir {envtmpdir}/buildcache requests . -o dist/pex35 -e pex.bin.pex:main -v

[testenv:py36-package]
commands = pex --cache-dir {envtmpdir}/buildcache requests . -o dist/pex36 -e pex.bin.pex:main -v

[testenv:py37-package]
commands = pex --cache-dir {envtmpdir}/buildcache requests . -o dist/pex37 -e pex.bin.pex:main -v
[testenv:package]
# TODO(John Sirois): Include subprocess32 when #415, #658 and #694 are resolved.
commands =
pex -v \
--cache-dir {envtmpdir}/buildcache \
--interpreter-constraint=">=3.4,<4" \
--interpreter-constraint="==2.7.*" \
--python-shebang="/usr/bin/env python" \
-o dist/pex \
-c pex \
requests .

# Would love if you didn't have to enumerate environments here :-\
[testenv:py27]
Expand Down

0 comments on commit 442ce79

Please sign in to comment.