-
Notifications
You must be signed in to change notification settings - Fork 35
/
.gitlab-ci.yml
148 lines (136 loc) · 3.91 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
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
include:
- project: 'dev/sys/sopl/ar-dev'
# release branch
ref: 'release/3.x'
file:
- '/ci/templates/default.yml'
- '/ci/templates/python/default.yml'
variables:
AR_CI_CLANG_FORMAT_DISABLE: "true"
AR_CI_CLANG_TIDY_DISABLE: "true"
AR_CI_CPPCHECK_DISABLE: "true"
AR_CI_FLAKE8_DISABLE: "true"
AR_CI_YAPF_DISABLE: "true"
AR_CI_DOCS_DISABLE: "false"
AR_CI_DEPLOY_CONAN_DISABLE: "true"
# From https://docs.gitlab.com/ee/ci/merge_request_pipelines/#excluding-certain-jobs
.only-default: &only-default
only:
# only: [branches, tags] is the default
# extend it by merge_reguests
# and limit branches to master and release/*
# See also: https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-basic
- master
- develop
- /^release/.*$
- /^release.*$
- tags
- merge_requests
docs_test:
extends: .docs_test
image: artifactory.ar.int:5000/ar-ci-ubuntu:22.04
variables:
BUILD_DIR: build
CONAN_OPTIONS: ""
MAKE_CMD_DOCS: "make docs"
pages:
image: artifactory.ar.int:5000/ar-ci-ubuntu:22.04
extends: .docs_pages
variables:
BUILD_DIR: build
CONAN_OPTIONS: ""
MAKE_CMD_DOCS: "make docs"
only:
- master
- develop
- tags
except:
variables:
- $AR_CI_DOCS_DISABLE == "true"
test py3-tests: &test-py3-tests
<<: *only-default
stage: Test
image: artifactory.ar.int:5000/ar-ci-ubuntu:22.04
tags:
- Agile_GUI_Docker
script:
- pip3 install tox pdm
- xvfb-run -as "-screen 0 1920x1200x24" tox -r -c tox_external.ini -e py310
coverage: /^TOTAL.+?(\d+\%)$/
artifacts:
expire_in: 7 days
reports:
coverage_report:
coverage_format: cobertura
path: backend/coverage.xml
test py3-tests-core:
<<: *only-default
stage: Test
image: artifactory.ar.int:5000/ar-ci-ubuntu:22.04
tags:
- Agile_GUI_Docker
script:
- pip3 install tox pdm
- xvfb-run -as "-screen 0 1920x1200x24" tox -r -c tox_external.ini -e core
coverage: /^TOTAL.+?(\d+\%)$/
artifacts:
expire_in: 7 days
reports:
coverage_report:
coverage_format: cobertura
path: backend/coverage.xml
test py3-memory-test-core:
<<: *only-default
stage: Test
image: artifactory.ar.int:5000/ar-ci-ubuntu:22.04
tags:
- Agile_GUI_Docker
script:
- pip3 install tox pdm
- pdm install --dev --no-editable
- xvfb-run -as "-screen 0 1920x1200x24" tox -r -c tox_external.ini -e memory_core
artifacts:
expire_in: 7 days
Pip::build pure:
variables:
AR_PYTHON_PACKAGE_WHEEL_DIR: "${CI_PROJECT_DIR}/wheels"
before_script:
- python3 -m pip install -U pip
- export AR_PYTHON_PACKAGE_ROOT_DIR="${CI_PROJECT_DIR}/${AR_PYTHON_PACKAGE_ROOT_DIR_SUFFIX}"
parallel:
matrix:
- AR_PYTHON_PACKAGE_ROOT_DIR_SUFFIX: [".", "source"]
Test Rafcon Core Python Wheel:
stage: Test
<<: *only-default
needs: [ "Pip::build pure" ]
dependencies: [ "Pip::build pure" ]
image: artifactory.ar.int:5000/ar-ci-ubuntu:22.04
script:
- python3 -m pip install -U pip pytest pytest-timeout
- python3 -m pip install wheels/rafcon_core*.whl
- python3 -m pytest tests/core
Pip::test on Linux:
before_script:
# These apt packages are needed by the rafcon pip package for installation
- apt update && apt install -y libcairo2 libcairo2-dev build-essential libgirepository1.0-dev
parallel:
matrix:
- PYTHON_IMAGE:
- artifactory.ar.int:5000/ar-python-slim:3.7.16
- artifactory.ar.int:5000/ar-python-slim:3.8.16
- artifactory.ar.int:5000/ar-python-slim:3.9.16
- artifactory.ar.int:5000/ar-python-slim:3.10.10
Pip::test on Windows:
rules:
- when: never
Version Test:
<<: *only-default
stage: Test
image: artifactory.ar.int:5000/ar-ci-ubuntu:22.04
script:
# Check if it is possible to bump version
# e.g. all versions in files are the same and eq
# to version in .bumpversion.cfg
- pip install pdm
- make version_test