forked from cocotb/cocotb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
124 lines (109 loc) · 3.49 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
# 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.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 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