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