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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
# This file is a template, and might need editing before it works on your project.
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
stages:
- test
- build
- deploy
# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/reference/pip_install/#caching
#
# If you want to also cache the installed packages, you have to install
# them in a virtualenv and cache it as well.
cache:
paths:
- .cache/pip
- venv/
before_script:
# OUTSIDE VIRTUAL ENV -----------------------------------------------------
- python -V
- python -m ensurepip
- python -m pip install -U pip
- python -m pip install -U setuptools
- python -m pip install -U wheel
- python -m pip install -U virtualenv
- python -m pip install -U tox
# Python 2.7 end of support 2020-01
# Python 3.4 end of support 2019-03
# Python 3.5 end of support 2020-09
# End of support 2021-12
py36-build:
stage: build
image: python:3.6
script:
- export TOXENV=py36-build
- tox -s true
# End of support 2023-06
py37-build:
stage: build
image: python:3.7
script:
- export TOXENV=py37-build
- tox -s true
# End of support 2024-10
py38-build:
stage: build
image: python:3.8
script:
- export TOXENV=py38-build
- tox -s true
py38-test:
stage: test
image: python:3.8
script:
- export TOXENV=py38-test
- tox -s true
py38-lint:
stage: test
image: python:3.8
allow_failure: false
script:
- export TOXENV=py38-lint
- tox -r -s true
py38-safety:
stage: test
image: python:3.8
script:
- export TOXENV=py38-safety
- tox -s true
py38-metric:
stage: test
image: python:3.8
script:
- export TOXENV=py38-metric
- tox -s true
include:
- template: Code-Quality.gitlab-ci.yml
# py36-test-pyqt:
# stage: test
# image: python:3.6
# script:
# - export TOXENV=py36-test-pyqt
# - tox -s true
# py36-test-pyside:
# stage: test
# image: python:3.6
# script:
# - export TOXENV=py36-test-pyside
# - tox -s true
py36-release-pypi:
stage: deploy
image: python:3.6
script:
- pip install twine
- python setup.py sdist bdist_wheel
- echo $CI_COMMIT_TAG
- twine check dist/*
# try upload in test platform before the oficial
- twine upload --repository-url https://test.pypi.org/legacy/ dist/*
- pip install --no-deps --index-url https://test.pypi.org/simple/ helpdev
- pip uninstall helpdev -y
# upload to oficial
- twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
- pip install helpdev
- helpdev --version
- pip uninstall helpdev -y
only:
- tags
|