Skip to content

Commit 5343aa0

Browse files
committed
Let "make" install build and twine if in a virtual environment
If a virtual environment (created by venv or virtualenv) is active, running "make release" or "make force_release" now automatically installs/upgrades the "build" and "twine" packages in it. This is only done if "make" is run in a virtual environment. This can be a fresh environment: neither the project nor its dependencies need to be installed in it. Because the "build" module is not currently used in any tests and running "make" in a virtual environment takes care of installing "build" (and "twine"), "build" is now removed from test-requirements.txt. The publishing instructions in the readme are updated accordingly, to mention the optional step of creating and activating a virtual environment, and to briefly clarify why one might want to do that. Running "make" outside a virtual environment remains supported, except that, due to recent changes, whatever environment it is run in needs to have a usable "build" module.
1 parent f86f09e commit 5343aa0

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ release: clean
1515
make force_release
1616

1717
force_release: clean
18+
# IF we're in a virtual environment, add build tools
19+
test -z "$$VIRTUAL_ENV" || pip install -U build twine
1820
python3 -m build --sdist --wheel
1921
twine upload dist/*
2022
git push --tags origin main

README.md

+8-6
Original file line numberDiff line numberDiff line change
@@ -188,13 +188,15 @@ Please have a look at the [contributions file][contributing].
188188

189189
### How to make a new release
190190

191-
- Update/verify the **version** in the `VERSION` file
192-
- Update/verify that the `doc/source/changes.rst` changelog file was updated
193-
- Commit everything
194-
- Run `git tag -s <version>` to tag the version in Git
195-
- Run `make release`
191+
- Update/verify the **version** in the `VERSION` file.
192+
- Update/verify that the `doc/source/changes.rst` changelog file was updated.
193+
- Commit everything.
194+
- Run `git tag -s <version>` to tag the version in Git.
195+
- _Optionally_ create and activate a [virtual environment](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment) using `venv` or `virtualenv`.\
196+
(When run in a virtual environment, the next step will automatically take care of installing `build` and `twine` in it.)
197+
- Run `make release`.
196198
- Close the milestone mentioned in the _changelog_ and create a new one. _Do not reuse milestones by renaming them_.
197-
- Got to [GitHub Releases](https://github.com/gitpython-developers/GitPython/releases) and publish a new one with the recently pushed tag. Generate the changelog.
199+
- Go to [GitHub Releases](https://github.com/gitpython-developers/GitPython/releases) and publish a new one with the recently pushed tag. Generate the changelog.
198200

199201
### How to verify a release (DEPRECATED)
200202

test-requirements.txt

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
black
2-
build
32
coverage[toml]
43
ddt>=1.1.1, !=1.4.3
54
mypy

0 commit comments

Comments
 (0)