-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
148 lines (132 loc) Β· 3.23 KB
/
.gitlab-ci.yml
File metadata and controls
148 lines (132 loc) Β· 3.23 KB
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
variables:
GRADLE_USER_HOME: $CI_PROJECT_DIR/.cache/gradle
PIP_CACHE_DIR: $CI_PROJECT_DIR/.cache/pip
PRE_COMMIT_HOME: $CI_PROJECT_DIR/.cache/pre-commit
PYTHONUSERBASE: $CI_PROJECT_DIR/.cache/python-user-packages
cache:
key: $CI_JOB_NAME
paths:
- $CI_PROJECT_DIR/.tox
- $CI_PROJECT_DIR/.venv # for poetry
- $GRADLE_USER_HOME/caches
- $GRADLE_USER_HOME/wrapper
- $PIP_CACHE_DIR
- $PRE_COMMIT_HOME
- $PYTHONUSERBASE
.lint:
before_script:
- git submodule update --init --recursive
- apt-get update
- apt-get install -qy default-jdk-headless
- python -V
- export PATH="$PATH:$PYTHONUSERBASE/bin"
- pip install --user gitlint pre-commit tox
script:
- gitlint
- pre-commit run --all-files
- tox -e lint
.test:
before_script:
- git submodule update --init --recursive
- apt-get update
- apt-get install -qy default-jdk-headless
- python -V
- export PATH="$PATH:$PYTHONUSERBASE/bin"
- pip install --user tox
artifacts:
paths:
- htmlcov
expire_in: 1 week
lint37:
extends: .lint
image: python:3.7
lint38:
extends: .lint
image: python:3.8
lint39:
extends: .lint
image: python:3.9
lint310:
extends: .lint
image: python:3.10
lint311:
extends: .lint
image: python:3.11
lint312:
extends: .lint
image: python:3.12
py37:
extends: .test
image: python:3.7
script:
- tox -e py37
- DONUTS_PYTHON_BACKEND=py4j tox -e py37
- DONUTS_PYTHON_BACKEND=jpype tox -e py37
py38:
extends: .test
image: python:3.8
script:
- tox -e py38
- DONUTS_PYTHON_BACKEND=py4j tox -e py38
- DONUTS_PYTHON_BACKEND=jpype tox -e py38
py39:
extends: .test
image: python:3.9
script:
- tox -e py39
- DONUTS_PYTHON_BACKEND=py4j tox -e py39
- DONUTS_PYTHON_BACKEND=jpype tox -e py39
py310:
extends: .test
image: python:3.10
script:
- tox -e py310
- DONUTS_PYTHON_BACKEND=py4j tox -e py310
- DONUTS_PYTHON_BACKEND=jpype tox -e py310
py311:
extends: .test
image: python:3.11
script:
- tox -e py311
- DONUTS_PYTHON_BACKEND=py4j tox -e py311
- DONUTS_PYTHON_BACKEND=jpype tox -e py311
py312:
extends: .test
image: python:3.12
script:
- tox -e py311
- DONUTS_PYTHON_BACKEND=py4j tox -e py312
- DONUTS_PYTHON_BACKEND=jpype tox -e py312
doc:
extends: .test
image: python:latest
script: tox -e doc
artifacts:
paths:
- docs/_build/html
expire_in: 1 week
readme_dev:
# Test the code in "Development" in README.rst.
image: python:latest
before_script:
- apt-get update
- apt-get install -qy default-jdk-headless
- python -V
- export PATH="$PATH:$PYTHONUSERBASE/bin"
- pip install --user poetry
- poetry --version
- poetry config virtualenvs.in-project true
script:
- git submodule update --init
- poetry install
- poetry run invoke prepare
- poetry run invoke build
- poetry run invoke fmt
- poetry run invoke lint
- poetry run invoke test
# - poetry run invoke bench
- poetry run invoke doc
- DONUTS_PYTHON_BACKEND=pyjnius poetry run invoke test
- DONUTS_PYTHON_BACKEND=py4j poetry run invoke test
- DONUTS_PYTHON_BACKEND=jpype poetry run invoke test
- poetry run invoke build --sdist --wheel