forked from gitpython-developers/GitPython
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
34 lines (27 loc) · 1.24 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
.PHONY: all clean release force_release docker-build test nose-pdb
all:
@grep -Ee '^[a-z].*:' Makefile | cut -d: -f1 | grep -vF all
clean:
rm -rf build/ dist/ .eggs/ .tox/
release: clean
# Check if latest tag is the current head we're releasing
echo "Latest tag = $$(git tag | sort -nr | head -n1)"
echo "HEAD SHA = $$(git rev-parse head)"
echo "Latest tag SHA = $$(git tag | sort -nr | head -n1 | xargs git rev-parse)"
@test "$$(git rev-parse head)" = "$$(git tag | sort -nr | head -n1 | xargs git rev-parse)"
make force_release
force_release: clean
git push --tags origin master
python3 setup.py sdist bdist_wheel
twine upload -s -i 27C50E7F590947D7273A741E85194C08421980C9 dist/*
docker-build:
docker build --quiet -t gitpython:xenial -f Dockerfile .
test: docker-build
# NOTE!!!
# NOTE!!! If you are not running from master or have local changes then tests will fail
# NOTE!!!
docker run --rm -v ${CURDIR}:/src -w /src -t gitpython:xenial tox
nose-pdb: docker-build
# run tests under nose and break on error or failure into python debugger
# HINT: set PYVER to "pyXX" to change from the default of py37 to pyXX for nose tests
docker run --rm --env PYVER=${PYVER} -v ${CURDIR}:/src -w /src -it gitpython:xenial /bin/bash dockernose.sh