generated from readthedocs/tutorial-template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.gitlab-ci.yml
78 lines (70 loc) · 2.7 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
# from gitlab:
# https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
#image: danwos/sphinxneeds-latexpdf:latest
#image: danwos/sphinxneeds:latest
image: python:latest
# 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"
# https://pip.pypa.io/en/stable/topics/caching/
cache:
paths:
- .cache/pip
before_script:
- python --version ; pip --version ; whoami # For debugging
- pip install virtualenv
- virtualenv venv
- source venv/bin/activate
- pip install setuptools
# install script requirements
# pip install -r ./requirements.txt
- pip install .
- apt update
- apt-get --yes install graphviz default-jdk
test:
stage: test
script:
- pip install coverage
- pip install pytest
- pip install pytest-reportlog
- coverage run --branch --data-file=./docs/_static/_external_data/coverage.file -m pytest ./tests/ --junitxml=./docs/_static/_external_data/merge_dicts_test_results.xml --report-log=./docs/_static/_external_data/merge_dicts_test_log.json
- coverage xml --data-file=./docs/_static/_external_data/coverage.file -o ./docs/_static/_external_data/coverage.xml
- coverage json --data-file=./docs/_static/_external_data/coverage.file -o ./docs/_static/_external_data/coverage.json
- coverage html --data-file=./docs/_static/_external_data/coverage.file -d ./docs/_static/_external_data/coverage_html
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: ./docs/_static/_external_data/coverage.xml
junit: ./docs/_static/_external_data/merge_dicts_test_results.xml
name: "test_results"
paths:
- ./docs/_static/_external_data/
pages_test:
stage: test
script:
# install documentation requirements
- pip install -r ./docs/requirements.txt
- sphinx-lint -i venv
- sphinx-build -W -b html ./docs ./public
rules:
- if: $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
pages:
stage: deploy
script:
# install documentation requirements
- pip install -r ./docs/requirements.txt
- sphinx-lint -i venv
- sphinx-build -W -b html ./docs ./public
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH