-
Notifications
You must be signed in to change notification settings - Fork 1
/
.gitlab-ci.yml
110 lines (96 loc) · 1.62 KB
/
.gitlab-ci.yml
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
image: python:3.7
stages:
- lint
- test
- build
- deploy
- release
before_script:
- apt -y install libxml2-dev libxslt-dev
- pip install poetry
- pip install tox
- pip install codecov
.code:
only:
changes:
- src/**/*
- tests/**/*
- pyproject.toml
- pylintrc
- pytest.ini
- tox.ini
lint:flake8:
stage: lint
extends: .code
script: tox -e flake8
lint:pylint:
stage: lint
extends: .code
script: tox -e pylint
lint:radon:
stage: lint
extends: .code
script: tox -e radon
test:python36:
image: python:3.6
stage: test
extends: .code
script:
- tox -e py36
retry: 1
test:python37:
stage: test
extends: .code
script:
- tox -e py37
retry: 1
test:python38:
image: python:3.8
stage: test
extends: .code
script:
- tox -e py38
- codecov --token=$COVERAGE_TOKEN
retry: 1
test:python39:
image: python:3.9
stage: test
extends: .code
script:
- tox -e py39
- codecov --token=$COVERAGE_TOKEN
retry: 1
test:python310:
image: python:3.10
stage: test
extends: .code
script:
- tox -e py310
- codecov --token=$COVERAGE_TOKEN
retry: 1
allow_failure: true # Poetry does not work in Python 3.10 yet.
build:package:
stage: build
script:
- tox -e build
artifacts:
paths:
- dist
expire_in: 1 week
pages:
stage: deploy
script:
- pip install mkdocs
- pip install mkdocs-cinder
- mkdocs build -d public/
artifacts:
paths:
- public
only:
- master
release:pypi:
stage: release
script:
- poetry publish -u $PYPI_USERNAME -p $PYPI_PASSWORD
only:
- tags