diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bdb2c7f4206e55a535eaf638272f2feca4d33bf8..f48d0fe07cf949be37018cd787d1a30f39009e52 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ # Official language image. Look for the different tagged releases at: # https://hub.docker.com/r/library/python/tags/ -image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:3.6 +image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:latest # Change pip's cache directory to be inside the project directory since we can # only cache local items. @@ -15,7 +15,6 @@ variables: cache: paths: - .cache/pip - - venv/ before_script: - pip install virtualenv @@ -41,6 +40,63 @@ unit-test-job: reports: junit: nose2-junit.xml +unit-test-2.7-job: + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:2.7 + stage: test + script: + - make test + +unit-test-3.7-job: + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:3.7 + stage: test + script: + - make test 2>&1 | tee errors-3.7.log + artifacts: + when: always + paths: + - errors-3.7.log + +unit-test-3.8-job: + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:3.8 + stage: test + script: + - make test 2>&1 | tee errors-3.8.log + artifacts: + when: always + paths: + - errors-3.8.log + +unit-test-3.9-job: + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:3.9 + stage: test + script: + - make test 2>&1 | tee errors-3.9.log + artifacts: + when: always + paths: + - errors-3.9.log + +check-deprecation-warnings-3.7: + before_script: [] + stage: check-warnings + script: + - "if [[ $(grep DeprecationWarning errors-3.7.log) ]]; then cat errors-3.7.log; exit 1; fi" + allow_failure: true + +check-deprecation-warnings-3.8: + before_script: [] + stage: check-warnings + script: + - "if [[ $(grep DeprecationWarning errors-3.8.log) ]]; then cat errors-3.8.log; exit 1; fi" + allow_failure: true + +check-deprecation-warnings-3.9: + before_script: [] + stage: check-warnings + script: + - "if [[ $(grep DeprecationWarning errors-3.9.log) ]]; then cat errors-3.9.log; exit 1; fi" + allow_failure: true + pylint-test-job: stage: test script: diff --git a/Makefile b/Makefile index a991c470963fdb3b77fe3f570418ecd73003066f..562c2bf30ed3804ebace9e29d1d0c51a3749a1f7 100644 --- a/Makefile +++ b/Makefile @@ -99,7 +99,7 @@ help: show-version: FORCE - @PYTHONPATH=lib python3 -c "import idea; print(idea.__version__);" + @PYTHONPATH=lib python -c "import idea; print(idea.__version__);" #------------------------------------------------------------------------------- @@ -109,12 +109,12 @@ deps: deps-python deps-python-dev deps-python-dev: FORCE @echo "\n$(GREEN)*** Installing Python development dependencies ***$(NC)\n" - @pip3 install -r requirements-dev.pip + @pip install --no-cache-dir -r requirements-dev.pip deps-python: FORCE @echo "\n${GREEN}*** Installing Python dependencies ***${NC}\n" - @pip3 install -r requirements.pip --upgrade + @pip install --no-cache-dir -r requirements.pip --upgrade #------------------------------------------------------------------------------- @@ -138,11 +138,11 @@ pyflakes: pyflakes-lib: FORCE @echo "\n${GREEN}*** Checking code with pyflakes ***${NC}\n" - -@python3 -m pyflakes $(DIR_LIB)/*.py + -@python -m pyflakes $(DIR_LIB)/*.py pyflakes-test: FORCE @echo "\n${GREEN}*** Checking test files with pyflakes ***${NC}\n" - -@python3 -m pyflakes bench_idea.py test_idea.py + -@python -m pyflakes bench_idea.py test_idea.py #pylint: pylint-lib pylint-test pylint: @@ -150,15 +150,15 @@ pylint: pylint-lib: FORCE @echo "\n${GREEN}*** Checking code with pylint ***${NC}\n" - -@python3 -m pylint $(DIR_LIB)/*.py --rcfile .pylintrc-lib + -@python -m pylint $(DIR_LIB)/*.py --rcfile .pylintrc-lib pylint-test: FORCE @echo "\n${GREEN}*** Checking test files with pylint ***${NC}\n" - -@python3 -m pylint bench_idea.py test_idea.py --rcfile .pylintrc-test + -@python -m pylint bench_idea.py test_idea.py --rcfile .pylintrc-test test: FORCE @echo "\n${GREEN}*** Checking code with nosetests ***${NC}\n" - @python3 -W always::DeprecationWarning -m nose2 --junit-xml + @python -W always::DeprecationWarning -m nose2 --junit-xml #------------------------------------------------------------------------------- @@ -172,11 +172,11 @@ archive: FORCE bdist: FORCE @echo "\n${GREEN}*** Building Python packages ***${NC}\n" - @python3 setup.py sdist bdist_wheel --universal + @python setup.py sdist bdist_wheel --universal install: FORCE @echo "\n${GREEN}*** Performing local installation ***${NC}\n" - @pip3 install dist/idea*.whl --upgrade + @pip install dist/idea*.whl --upgrade deploy: FORCE @echo "\n${GREEN}*** Deploying packages to PyPI ***${NC}\n" diff --git a/requirements-dev.pip b/requirements-dev.pip index 0ce119ace62f0f73a3d428644956f1f19d7710e6..76a46982e9f92974f42c943cb0caf64f2df33eb2 100644 --- a/requirements-dev.pip +++ b/requirements-dev.pip @@ -4,8 +4,8 @@ setuptools wheel twine docutils<0.18 -nose2==0.11.0 -pyflakes==2.1.0 -pylint==2.2.2 -sphinx==1.8.4 -sphinx-rtd-theme==0.4.2 +nose2 +pyflakes +pylint +sphinx +sphinx-rtd-theme