diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0377e9ec792bc86716404d736f4f971671f93ed4..8f9e23961d02b6df6accbac90570dcd6970f421a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,8 @@ stages: - test - build + - check + - deploy mdcheck: stage: test @@ -36,5 +38,36 @@ build: - export PYTHONIOENCODING=UTF-8 - export LC_CTYPE=en_US.UTF-8 script: - #- python setup.py --version - python setup.py sdist + +Install test: + stage: check + image: it4innovations/docker-pypi:latest + script: + - pip install dist/pipdeps*tar.gz + - pipdeps -l || true + - pipdeps -u + +versioncheck: + stage: check + image: it4innovations/docker-pypi:latest + script: + - export IT4I_FACTORY_PREBUILD=1 + - python setup.py --version + - export BUILD_VERSION="$(python setup.py --version)" + - >- + export PUBLISHED_VERSION="$(pip install pipdeps== 2>&1 | grep -oE "\(from versions: .*)" | sed "s/(from versions: //" | sed "s/)//" | tr ", " "\n" | tail -n1)" +# - export EGG_VERSION=$(grep -E "^Version:" pipdeps.egg-info/PKG-INFO | grep -Eo "[0-9.]+") +# - CMP_VERSION="$(cmp-version $EGG_VERSION $PUBLISHED_VERSION)" +# - if [ $CMP_VERSION -eq 1 ]; then true; else echo "Egg info is older/same version as module already available from public pypi repository. Please run python setup.py egg_info and commit changes"; false; fi + - CMP_VERSION="$(cmp-version $BUILD_VERSION $PUBLISHED_VERSION)" + - if [ $CMP_VERSION -eq 1 ]; then true; else echo 'Git tag is older/same version as module already available from public pypi repository. Please run git tag -a <version> -m "<version>"'; false; fi + +upload: + stage: deploy + image: it4innovations/docker-pypi:latest + script: + - twine upload -u "$PYPI_USERNAME" -p "$PYPI_PASSWORD" dist/pipdeps*tar.gz +# only: +# - master + when: manual diff --git a/pipdeps/pipdeps.py b/pipdeps/pipdeps.py index 9aec07140311b79ff64536ed44c01800d2d10b17..616ef173de4f061f6005b151077a2ce1bde2ce2c 100644 --- a/pipdeps/pipdeps.py +++ b/pipdeps/pipdeps.py @@ -76,16 +76,13 @@ def upgrade_package(package, versions): subprocess.check_call( ["pip", "install", "--upgrade", "%s==%s" % (package, "".join(versions))], stderr=subprocess.STDOUT - ) + ) def get_pip_list(): """ pip list """ - outdated_packages = subprocess.check_output( - ["pip", "list"], - stderr=subprocess.STDOUT - ) + outdated_packages = subprocess.check_output(["pip", "list"]) return [line.split()[0] for line in outdated_packages.strip().split("\n")[2:]] def file_download(url): @@ -341,6 +338,8 @@ def main(): arguments = arg_parse() pyver = get_pyver() pkglist = get_pip_list() + if 'pipdeps' in pkglist: + pkglist.remove('pipdeps') jsonpipdeptree = get_jsonpipdeptree() packages_data = collect_packages(pkglist, jsonpipdeptree, pyver=pyver) for pkg, pkg_data in sorted( diff --git a/setup.py b/setup.py index 4cbee3d910cd0b39e4a5aefee9cd1628c49329d1..63f1e42aee8c26a0083ee3a128e702feb2912083 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ setup( packages=find_packages(), namespace_packages=['pipdeps'], zip_safe=False, - version='0.0.1', + version='0.0.dev1', # version_format='{tag}', long_description_markdown_filename='README.md', setup_requires=['setuptools-markdown'],