forked from cocotb/cocotb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
133 lines (117 loc) · 3.77 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
# See Dockerfile for the full build instructions
sudo: required
language: python
dist: xenial
cache:
directories:
- iverilog
git:
quiet: true
services:
- docker
jobs:
include:
- stage: PythonLint
os: linux
python: 3.5
install: pip install flake8
script: flake8
- stage: SimTests
os: linux
python: 2.7
before_install: &docker_prep
- docker build -t cocotb .
- docker images -a
- docker run -d --name cocotb cocotb tail -f /dev/null
- docker ps -a
script:
- echo 'Running cocotb tests with Python 2.7 ...' && echo 'travis_fold:start:cocotb_py27'
- docker exec -it -e TRAVIS=true cocotb bash -lc 'pip install tox; cd /src; tox -e py27'
- echo -e 'travis_fold:end:cocotb_py27'
- stage: SimTests
os: linux
python: 3.5
before_install: *docker_prep
script:
- echo 'Running cocotb tests with Python 3.5 ...' && echo -en 'travis_fold:start:cocotb_py35'
- docker exec -it -e TRAVIS=true cocotb bash -lc 'pip install tox; cd /src; tox -e py35'
- echo 'travis_fold:end:cocotb_py35'
- stage: SimTests
python: 3.7
before_install: &travis_linx_prep
- sudo apt-get install gperf
- if [[ ! -e "./iverilog/README.txt" ]]; then rm -rf iverilog; git clone https://github.com/steveicarus/iverilog.git --depth=1 --branch v10_2; fi
- cd iverilog && autoconf && ./configure && make -j2 && sudo make install && cd ..
- pip install tox
- pyenv global system $TRAVIS_PYTHON_VERSION
script:
- echo 'Running cocotb tests with Python 3.7 ...' && echo -en 'travis_fold:start:cocotb_py37'
- tox -e py37
- echo 'travis_fold:end:cocotb_py37'
- stage: SimTests
python: 3.8
before_install: *travis_linx_prep
script:
- echo 'Running cocotb tests with Python 3.8 ...' && echo -en 'travis_fold:start:cocotb_py38'
- tox -e py38
- echo 'travis_fold:end:cocotb_py38'
- stage: SimTests
python: 3.6.7
before_install: *travis_linx_prep
script:
- echo 'Running cocotb tests with Python 3.6.7 ...' && echo -en 'travis_fold:start:cocotb_py36'
- tox -e py36
- echo 'travis_fold:end:cocotb_py36'
- stage: SimTests
os: osx
language: generic
python: 2.7
before_install: &osx_prep
- brew update-reset
- brew install icarus-verilog
- pip install tox
script:
- tox -e py27
- stage: SimTests
python: 3.7
os: windows
language: shell
before_install:
- docker build -t cocotb -f Dockerfile.windows .
script:
- docker run cocotb powershell 'python setup.py install ; make test'
- stage: SimTests
os: osx
language: generic
python: 3.6
before_install: *osx_prep
script:
- tox -e py36
- stage: SimTests
python: 3.7
env: SIM=ghdl
before_install:
- sudo apt-get install gnat
- git clone https://github.com/ghdl/ghdl.git --depth=1 --branch v0.36
- cd ghdl && ./configure && make -j2 && sudo make install && cd ..
- pip install tox
- pyenv global system $TRAVIS_PYTHON_VERSION
script:
- tox -e py37
- stage: DeployPyPI
python: 3.7
if: tag IS present
script: skip
deploy:
provider: pypi
user: themperek
password:
secure: "MLCDTXDYX7TKtPDXxUz7hIibXAIHGkz297yVQ7inLToCX/bKAkjdy/uwQZ4W7goRUFKJ6XliqBU8l/tihqPXCPtRaIU4hdLF9LZjR02Z16Ik3vDHBQcX/htfm32WAkFIVdbzBldD0N1NJIPYc83GnwLtgFM2u1fuCffiu2VqkTY="
on:
tags: true
repo: cocotb/cocotb
distributions: sdist
allow_failures:
- stage: SimTests
python: 3.7
env: SIM=ghdl