-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy path.travis.yml
146 lines (135 loc) · 10.4 KB
/
.travis.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
# Explore and validate the config here:
# https://config.travis-ci.com/explore
cache:
directories:
- "$HOME/.cache/pre-commit"
# For the conditionals below: the `branch` corresponds to the base branches:
# for PRs. See https://docs.travis-ci.com/user/conditions-v1 for details.
# Only build on main OR for PRs. Otherwise, we will run the same tests twice: once
# for the PR, once for the branch.
# If your builds do not start when you expect them to start, go here to understand why:
# https://travis-ci.com/github/SAP/data-attribute-recommendation-python-sdk/requests
if: branch = main OR tag =~ ^rel/.*$ OR type != push
os: linux
dist: jammy
notifications:
email:
if: branch = main AND type != pull_request
on_failure: always
recipients:
# Michael
- secure: "r05MU3AGjL+KMQSy3s3PW2tm3qA/ElRKQalMuixr3a1EJr6ZOb+FV2jRWM25q/2x5U/yszigtAKDuuF/Y/gbpIp4UwfhF9iTi7INF05F32E2SZAjnxA7rWJU294CR51J9UOYCaYt0fWPEt0IZMXl5rp1ORarNgLB2m33ZZKVzTr2ArSVBh/TvduymK1nEwTuA148fPQXobMCM6NF5qyVmxaoRWVQPVqafpmjSum+1k5qcZVFOHrix9hKFgJNZ/BrQu3w7lpu1HWpVoSr8wf1ZOt5VIeNL8NZBNM6vIQxdlOWpm9/ooTW/oKCuYuKs4aLp/AwJsrwJdYAls7TobyRlUh0u7HXj5+S4+BadlxgpKLWEV7KEPYgpIFvHEv2rcQUFQY7K4j+9U7wr4uxqUUaSvykYlipu+50pJshZjxKjx6frRFojjeaJNGmsL6ekK5ADrEWvbdhsnMG5SMbbWKrX9TFHv/HOwZuCQMsX/Noqnicxy0jt0PxTNsSRmlbIhw4pCGqcQmOA3LPOz3s9YiZZLxR2KmhLITCTRJKVKUbo0f1ctEGf6bOa5da3CDVAIvNpUsIjg37wJGMh/rp3ZoCs4J+ecmulfHqKmcx2P6x2uBqgAaGh7CmL2rlOe5F4WBOJQUvej6KJzcbkI1D7zyKXLk2ogKmQKd4vKsw6vxVFu0="
# Karthik
- secure: "OmT4gL0Z4GLC6tZNHQjJzfVQjFsBzWKp1oGnIzW0kClIUiq8gJU6i17M+pMsAondUOn7ALoFxfyFEdtwPfDgGt9pfoO/kHR4fIdldk+v5N4gOSNGDfiso0FGCXgaD3A1JG3kEG4ODv0JShh6KpRi8YwMv0BASyOG9nQwLQu6s5bNzyBnbnAQhQwGx+dzNxA1JWNPx4+EgWArzhdFmfq1/haqMqS6X9Sv1fEnQPH5dsRbTm5+kULqurSbSJ7wxuVnnJgGhc8XWFTZArLlrtxTe4ykfGMu6Rm2PUWw0y80IGZ7DY3C3wloPtBSvF+uO8y/H6ha+eyrF07+roh1l9uWlUVJ8lkn0o0SWKT0/K1tS34JK+oDxQzQWmkJYTR5RdXx6/4f2C/oueZtb8SBSpYxtDrzGBGixIU8lRmcX9x8knA6Tl5fOUlw4MHOqTGTV/oMTgpvaOXN0jGxNWPv0Ud3lMuyD7sgSihdwlFO5rASq0SSqPg4oHogMM/dMW6D5v6/Q3tuMc8hSo9rR9DNws7ktz84Y8TAdrkGWM+jem+ihwzKAjW/ExEbSZzoco8LLqxRtsCmY2Sl21VHGUzbglSvoQfcYhpra//9GLzxyHPZORrdRTMEKBT3SeJgvSb83RNA0Vz1OOzw/JN1JUwQQClrfeGDk6qQuZutbHFYEqvT9TE="
# Francesco
- secure: "grK5n7UwWsw7W/e/MJNh7oMfJgEqocQ4iI9Bc5SD85/eGs8QtyO1wqwt3VZ56LHolbcdojT1arNyrgGZW4z5VLaaAtX5y3Beh286eNv4o8mifGwRoK9UC0nZNTwX0c6zy2A9QGzRAsVAqxcDJIPSEN3Gw+zkU+b8MihO2K5eQnPJRTaOPGf1ZZpDfhwfTHvfWPwxj8qu4z/wcCy4UlYK1C0+ikyH6UInlnVeLLALnu/U6/iN7POvWHaeSaBYrQMB+aFhzEfRY2N3LVRHtbP+TGm5Q+KcGH1cd38axAvN0lLNXpUEvla5d/VjINuCV9R6Nh9JxqmnwSOOh4b1RT15/MA1CnrI9okEMNISBjlED8oVTTA7UQtPhdH9QGhUIkc45yt83mcfdq57JQOUq8lw72NzI0lJ5sIPfDn2H/ucuMVOSkpYmee6hjprpZvyIKD6JjKsq56PjNsFt6wvLhA+O5/bpAXDQVbJIa9ww3veDwFoD9pvtNfc0ocxBz+4C07zZ0kDxNgFHY+N5XY+k8cqoXKSYeMbKggxa6FnffVh2oBvlzOnBRZJOKJBTjPtF2qonzQjJyA5KtJQuQ9xO5a56xbyuNufsJT7vFNWrGzqw0YqWcQnMLWwerdHTKWu0ovaQd3mjtAbm1WvN33d1KPY3YFWoQU6YITwpCi4MjxsJVU="
stages:
- name: linting
- name: test
- name: "system tests"
if: type != pull_request AND (branch = main OR tag =~ ^rel/.*$)
# Note that deployment of the traceability report to github happens in the system
# tests stage above, with an additional condition to only execute on tag =~ ^rel/.*$.
# For technical reasons, the upload to pypi is a separate stage: the pypi upload does
# not work from a windows environment
- name: deploy
if: type != pull_request AND tag =~ ^rel/.*$
language: python
install:
# Fix build on 3.7: https://github.com/pypa/setuptools/issues/3293
- pip3 install 'setuptools==60.9.0;python_version=="3.8"'
- pip3 install -r requirements-test.txt
script: tox
# When using travis encrypt to encrypt environment variables, remember to use single
# quotes and escape special characters (such as the ! in the clientid)
# https://docs.travis-ci.com/user/encryption-keys#note-on-escaping-certain-symbols
env:
global:
# DAR_CLIENT_ID
- secure: "hJC4Vm6ZsJWzZPuthD5hi5eLZY+hUlawdbsyf/fIP0qruWK5EXhUWbP9hySHAgsdY6dwoR0KABe3Dwx5hrt0sBy9cRFgYAt5MR0IbTVBIPrArkmx0Y5ESq8M869qC/pGHcCDHjiAnbZxgO/84gGUAFmqW+KkdHDA6b+D0lXXOQ/bsnRlwJ2V2eA1jSdOX2nYvwOLhCa3j+rMI2+PzhnDtYbzF19W8v5Ob01qYJmMqEqbpgVHQEkUp4j2ICBzp7Ht/A4+kT0Gig/muC8Ax6O72zTVGFp1+migli9JgS7xz/BvnaFIoNq183zd/0AQRZqNChDoIMQvI9ZH/yH3/BvY9PY/bEsORVzLq7gf6SaMDByJiV/1C8wb7RuYM+QObRd/ZYgmO+WUewERZb1HP1zj5E+0OGdsEylxEvNPF9qrc2lR4d4MUl5A86bkz2soiIic5QUjlriIv40rBERpuZGd4A0f8jFJSx7cDL6QO7nHX3gvVCDZy6rM8c8LsVFK1BHZbTNmW8mDqJnViq/8h4CGWfMuUYJ2MiEtjSlaKTOocDo0GlngLkNCMtick2BP98SRZOan1wTfFNTAYkGfjXLyi47y8gOJWeG151DR9NWobqVcbVbLb+o7UV91uWeZbnot46ETJEOQ2f7453gxhpYngmjE9Gwyj4s/NnTEDExy/go="
# DAR_CLIENT_SECRET
- secure: "g306k+tXuJ5B1sXhvD7e+Fe91P/enw/us3wlovUeNRD6gNV1tHq5RaqK1R2bETwh11Hc1ONTkGHMcHJXtwYJ8k0Q2OvuD0HcnGE/9aGWgKkKFm4T69huG9IkBzZQQ8X1n/KuU/ow88qZd6PLauWZ0c1gi5ylsQly6S0knNwqIO/CtVnOuyr3clO9KqDH/48nfZP10GNsq7IU1DU5xHFaEYIiLBVG08/HXKhrxRFVW2nj8Cx8Ec8NiCQGayRNFaRu99v/uz5FIsvk29cZEwpKWYELulKXUDhbeZYSI7MQ1PcPl2vQBL6Cv5TmI0UfkQ0G3KX9LrzlUGOpZHyzCBlaBLDzZVvCaOvAcaHSqMiElnIrDtZFjgz7Jvq+V9/DIIhtegv5KxSoiUwIG9Iq4o8x8ihdMzhVTUtipcY8SiMeoaFjP58FnNZSlFxOZmP2vMx4Uh3Mbs7M/ZVo3mgV1hyJX0BElvcyzbIyx1I+UjPyS47lPBp9samRvtVC5DpItxD+n/qPFTif28nF4MHr0HBHnXCJZNJ+lNegv4RGBzgoZPDAWTQRCp25HafC72wx+rBQsVzyYNrq0/RM9W2ZBqqdTEXjUyyi/hdlLK4EnkeOy9w69upLGRPVis/GiKwQfBIb65FDJStcIugE6ft3GOvte54NkDQ4Oc4eF+cpZiwbSNg="
# DAR_AUTH_URL
- secure: "bK/Pv9kJWf7GloYFVoNPs4wyx7tDe8TqMHy5VpHFCdMbxPJ9Dn8eH6YmhwYGBsTdkFPU20oQ9dRo7p8VIFKRH84YXoKljawu3Yb97Y3W8k74twWojnoSboiTorinYf46ujJtnuT6Og3r8UPC9eUdjI7jcziOBX3UhmSmCGmjT1P0UvHcgz48eYAJToVZj2/GseDEO7T14nppIGocD4+M6eFbSArDty2GSxjQwm9Xvpbm47KftkRtnTOr4hM1QlD+H+Fo6RBLvBZI10Yhrq59tYph9OvvORFALRWP05DXsQRot5MA/xmtADkAJMN9FcC/XjI7k4zuoPHgy0Uw9Oapfgorfr/fKLd+zFQTAkQeLSHEyv44nflfKjQa/w+cALxRS6JZ+tVmh1ULj4Qo/wR1Dwt4sypL1y7IqOJnC7PjrJmf60jQgkKDtVQVJ0okwz+voZAqlOZFisDbcbIl+NU86TdBZJRQik2YZ94F7LVPy4VEqEKERGqaC83KDhqFgAI8ErNKf+DQKdCugbZXSYMW7tXBokAe9GjXnad8sRihQqIC9SeYgrY554aT7bzjYINFu/IXwkZ3deYeKci85zUskplUCSBjGrlP0wjSn3e+YbzWXc1MXGaqH4BqJb/Xge2p9bw+/6jMwgQIcu0q9/u+k94J4HdBB39brHOMaBbeiCw="
# DAR_URL
- secure: "cSRFu29pw8oqfPuETyeUncb706XfAC6KXLRSYju7FaPAxEknFf5XuIrIW1z0RtdbAZsiQKrdu3chv/PcFqQ7sySwlXNm0zQDqbucuH76j1qSW4nMgXLk1NIHrnFq8Aeuxq58Np6iodVwrOuYHUnC0ZXcbYSXeLNn19AgB153RevY3UENjHJ1LzLSS5YqIzJ7hu5g8o7jUJLRGbdcwg7ZW6YN7DxrI3XIh6M3g64kRSKkdCMeENG7yhGgFtHYtUFHU1d4284pZ6NU5fVodl7vI2hq6+RgE4Oso6rCGgbqRP9G8K/j08RAXGN2ak2xUpDXGdl+0cXvUBnrara/EXJN3uT6n9btDa/VRLZsam+lWrOqpKWlIDDyVU+HWlzL55XBcI+0FT0bYIzy68AGucpXqoSrA2luTfJZ3KXaX9MAWh3ifjGk2WdQu7I7pJGckV/+UcY5QSOPn2POc4VE5IiggjsQCzsdUysqfdmRWbRdI+lfUeUsTRUfCDXQSX3u0A5H9vtyvBcrbu662872XaBAlxuC+dXUeORNeWpJyg0stWFp5Wc0eCIIRKAxpzGmz5eeYEQRhJa31dPv1hK7I+VWCZhPnpb1jw/8LuKuMDWjHP8P/vJkYJx+BmDxDD3fuc9wU6MgUcXhdZoIyTba5gUC3/hYJ3TJO5Ya9R32kNCvf4s="
jobs:
include:
- stage: linting
python: '3.10' # only run once.
install:
- pip install -r requirements-dev.txt
script:
- pyenv global 3.10.14
- pre-commit run --all-files
- stage: system tests
os: windows
language: shell # 'language: python' is an error on Travis CI Windows
before_install:
- choco install python --version 3.10.8
- python -m pip install --upgrade pip
env: PATH=/c/Python310:/c/Python310/Scripts:$PATH
# use install: from global test stage, since system tests are
# also handled via tox
script:
- tox -e system_tests
deploy:
- provider: releases
edge:
branch: v1.10.16
skip_cleanup: true
api_key:
# API key for a machine user specifically created for this task:
# https://github.com/dar-sdk-machine-user
secure: "sWh/OWOwLJkAtM4jMYE3KSM9US5zlzvTIgkkD239eY3LY6Ygh9Qu6Vrt/NPsRyvtBlXeaaDSDpKax7IOz5INHIwgWVFCWKD4bmKqxVsJRrjGIdNiyasGo/+N1X+LafFyVPyCvcXhYESb7aCwV6fxhdqUaqpxX87SsN64MyKy3aoqPqfohAVraMiL5YWMJsCXVwZQlK4W/5oiKHblSPy/GnWyPp/bmOaW5o85zK12aLLFo2CYBCDzrxiwHelnkeKfQ2bv6QVlzN5BYV21ah79XBQxBTf4nMVIkPGeCrmHbE41nJsWANnZwhpr+wJ4pZ90TIVAzo23p7/mnhyk4qoP6xOXemN4cyNa4J4421g8Mo2vcAztG5tOXvBXitXV37OydrSwaj9fzqIX73m5uXGindny61MpIGYvlNnjm75H7RtjHswuhLsnohjFgOEOBb0FTvAyz+Nt2kHoS02xamlgw5Ox5UDOMUY+INDp/WxmdMAVO5oiGtofTDcGOqPkZwUdVPxTIjSjmhhr7YGSWzlgCC75Cu8ifc5VEK7E5QOKqdSjj8R2HHnYv17KSjz36liEqy58V4h52/PiKkGq6S+RK5S5zihhjDdadlhzVuznWNtPkBqHLb117GD5hlkbZeglJ6EI7OkEEhWjl0S9Uc7xgCxA56JqYBGvpnXh5+zihB0="
file: "system_test_results/traceability.html"
on:
tags: true
condition: $TRAVIS_TAG =~ ^rel/.*$
- stage: test
name: "Python: 3.8 on Linux"
python: "3.8"
env: TOXENV=py38-cov
- stage: test
name: "Python: 3.9 on Linux"
python: "3.9"
env: TOXENV=py39-cov
- stage: test
name: "Python: 3.10 on Linux"
python: "3.10"
env: TOXENV=py310-cov
- stage: test
name: "Python: pypy3 on Linux"
python: "pypy3"
env: TOXENV=pypy3-cov
- stage: test
name: "Python: 3.8 on Windows"
# https://docs.travis-ci.com/user/languages/python/#running-python-tests-on-multiple-operating-systems
os: windows
language: shell # 'language: python' is an error on Travis CI Windows
before_install:
- choco install python --version 3.8.2
- python -m pip install --upgrade pip
env:
- PATH=/c/Python38:/c/Python38/Scripts:$PATH
- TOXENV=py38-cov
- stage: test
name: "Python: 3.7.4 on macOS"
os: osx
osx_image: xcode11.4.1 # Python 3.7.4 running on macOS 10.15.4
language: shell # 'language: python' is an error on Travis CI macOS
env: TOXENV=py37-cov
- stage: deploy
python: '3.8' # only run once
install: skip
script: skip
deploy:
- provider: pypi
username: __token__
distributions: "sdist bdist_wheel"
password:
secure: "Yo1GgXnDX8br7Gwy7IbIbTowfbuATV8hwMoWeQEfXb/rkPxJuElbGDb6xEy19E3qojxMbeY2Lm5ahyRXBcQmekyzG4/xa4aLqxa08TEYbH/QQi3T7pFaIpBdPwHE3e3dsKZIFJwFwPymjIBZGC79CQkkD2g2+9GvSSJVkc5OMY/q1rVeWeKxbNmLiSu9kIIusBt1nkmrctLaNNN6fRvjII61bxkujpmBjWGZcNmcVHqxXqEVplfAOhBymalrhl6ABtlzKxLoBWJchqILLsVGoIhHIcUFkA7PyH90UfR5k2mWh7W5kh44vbY4F/OV2Dr875RNc/BYfnNe/RofxtIg1B9Z5JLVpGXsUhfWBqDcymym+ugTdYwEL2D4S2cWEK5sSur+cb/Ib/CAwYUaVf6eWJERzsPKs+5bfHHpkphDUIs7Rp6Mf5bkPgiUgbyWQ0Wdx5a7WXqwHCVpskCDreCF54X4FQuHeSxXrOVQ1GnknpTm5ZCJhuB5ged1a6BmhzF4LbhalHZjmYqy37j+jCLAa8QrpoUkhvPrSKyUQVHnj8P8yw2jydHDdyuWoibwL+rbrHHeX66QreV/utBODfbx2j3tMzkAU8QqKsmP9hWnHFx5Lz6Dl/m8MniKbs7B3vMG3MCJsPz2nawHC/wlDeRqTTARZ+Fpc7VHzj2/ra8Egos="
on:
# Limitation on branches is done in the "stages" section, so if
# the stage is executed, we always want to deploy
all_branches: true