File tree Expand file tree Collapse file tree 2 files changed +33
-35
lines changed
Expand file tree Collapse file tree 2 files changed +33
-35
lines changed Original file line number Diff line number Diff line change 1- PYTHON = python3
2- SETUP = $(PYTHON) setup.py
3- TESTFLAGS =
1+ .PHONY: all clean release force_release
42
5- all::
3+ all:
64 @grep -Ee '^[a-z].*:' Makefile | cut -d: -f1 | grep -vF all
75
8- release:: clean
9- # Check if latest tag is the current head we're releasing
10- echo "Latest tag = $$(git tag | sort -nr | head -n1)"
11- echo "HEAD SHA = $$(git rev-parse head)"
12- echo "Latest tag SHA = $$(git tag | sort -nr | head -n1 | xargs git rev-parse)"
13- @test "$$(git rev-parse head)" = "$$(git tag | sort -nr | head -n1 | xargs git rev-parse)"
14- make force_release
6+ clean:
7+ rm -rf build/ dist/ .eggs/ .tox/
158
16- force_release:: clean
17- git push --tags
18- python3 -m build --sdist --wheel
9+ force_release: clean
10+ ./build-release.sh
1911 twine upload dist/*
20-
21- doc::
22- make -C doc/ html
23-
24- build::
25- $(SETUP) build
26- $(SETUP) build_ext -i
27-
28- build_ext::
29- $(SETUP) build_ext -i
30-
31- install::
32- $(SETUP) install
33-
34- clean::
35- $(SETUP) clean --all
36- rm -f *.so
37-
38- coverage:: build
39- PYTHONPATH=. $(PYTHON) -m pytest --cov=gitdb gitdb
40-
12+ git push --tags origin master
Original file line number Diff line number Diff line change 1+ #!/bin/bash
2+ #
3+ # This script builds a release. If run in a venv, it auto-installs its tools.
4+ # You may want to run "make release" instead of running this script directly.
5+
6+ set -eEu
7+
8+ function release_with() {
9+ $1 -m build --sdist --wheel
10+ }
11+
12+ if test -n "${VIRTUAL_ENV:-}"; then
13+ deps=(build twine) # Install twine along with build, as we need it later.
14+ echo "Virtual environment detected. Adding packages: ${deps[*]}"
15+ pip install --quiet --upgrade "${deps[@]}"
16+ echo 'Starting the build.'
17+ release_with python
18+ else
19+ function suggest_venv() {
20+ venv_cmd='python -m venv env && source env/bin/activate'
21+ printf "HELP: To avoid this error, use a virtual-env with '%s' instead.\n" "$venv_cmd"
22+ }
23+ trap suggest_venv ERR # This keeps the original exit (error) code.
24+ echo 'Starting the build.'
25+ release_with python3 # Outside a venv, use python3.
26+ fi
You can’t perform that action at this time.
0 commit comments