forked from VUnit/vunit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
138 lines (126 loc) · 3.74 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
language: python
install:
- git fetch --unshallow --tags
- pip install tox
script:
- tox -e $BUILD_NAME
matrix:
include:
- env: BUILD_NAME=py27-unit
python: '2.7'
- env: BUILD_NAME=py34-unit
python: '3.4'
- env: BUILD_NAME=py35-unit
python: '3.5'
- env: BUILD_NAME=py36-unit
python: '3.6'
- env: BUILD_NAME=py36-unit
python: '3.6'
- env: BUILD_NAME=py27-lint
python: '2.7'
- env: BUILD_NAME=py36-lint
python: '3.6'
- env: BUILD_NAME=py27-docs
python: '2.7'
- env: BUILD_NAME=py36-docs
python: '3.6'
# Python 2.7 with ghdl mcode
- env: BUILD_NAME=py27-acceptance-ghdl
python: '2.7'
os: linux
sudo: false
addons:
apt:
packages:
- gnat
before_script:
- git clone --depth 1 https://github.com/tgingold/ghdl.git ghdl
- cd ghdl
- mkdir build-mcode
- cd build-mcode
- ../configure --prefix=../../install-ghdl-mcode/
- make
- make install
- cd ../../
- export PATH=$PATH:install-ghdl-mcode/bin/
# Python 3.6 with ghdl llvm
- env: BUILD_NAME=py36-acceptance-ghdl
python: '3.6'
os: linux
sudo: required
dist: trusty
before_install:
- sudo apt-get update -qq
- sudo apt-get install -y gnat-4.8 zlib1g-dev
- sudo apt-get install -y llvm-3.5-dev llvm-3.5-tools libedit-dev
before_script:
- git clone --depth 1 https://github.com/tgingold/ghdl.git ghdl
- cd ghdl
- mkdir build-llvm
- cd build-llvm
- ../configure --prefix=../../install-ghdl-llvm/ --with-llvm-config=llvm-config-3.5
- make
- make install
- cd ../../
- export PATH=$PATH:install-ghdl-llvm/bin/
# Python 3.6 with ghdl llvm
- env: BUILD_NAME=py36-vcomponents-ghdl
python: '3.6'
os: linux
sudo: required
dist: trusty
before_install:
- sudo apt-get update -qq
- sudo apt-get install -y gnat-4.8 zlib1g-dev
- sudo apt-get install -y llvm-3.5-dev llvm-3.5-tools libedit-dev
before_script:
- git clone --depth 1 https://github.com/tgingold/ghdl.git ghdl
- cd ghdl
- mkdir build-llvm
- cd build-llvm
- ../configure --prefix=../../install-ghdl-llvm/ --with-llvm-config=llvm-config-3.5
- make
- make install
- cd ../../
- export PATH=$PATH:install-ghdl-llvm/bin/
# Deploy to GitHub pages
- stage: deploy
python: '3.6'
script:
- tox -e py36-docs
- touch .tox/py36-docs/tmp/docsbuild/.nojekyll
deploy:
provider: pages
repo: VUnit/VUnit.github.io
target_branch: master
local_dir: .tox/py36-docs/tmp/docsbuild/
# This environment variable is set to an OAuth token in travis vunit settings
github_token: $GITHUB_PAGES_TOKEN
skip_cleanup: true
on:
branch: master
# Deploy to PyPI whenever the package version has changed
# When a package version has not changed a new upload will not be triggered
- stage: deploy
python: '3.6'
script:
- sed -i "s/PRE_RELEASE = True/PRE_RELEASE = False/" vunit/about.py
- python tools/is_new_release.py release_name is_new_release
- export IS_NEW_RELEASE=`cat is_new_release`
- export RELEASE_NAME=`cat release_name`
deploy:
provider: pypi
distributions: sdist
skip_cleanup: true
skip_upload_docs: true
user: $PYPI_USER
password: $PYPI_PASSWORD
on:
branch: master
condition: $IS_NEW_RELEASE = True
# Create release tag after successful deployment
after_deploy:
- git config --global user.email "[email protected]"
- git config --global user.name "Travis CI"
- git tag "v${RELEASE_NAME}" -a -m "Generated tag from TravisCI for release ${RELEASE_NAME}"
- git push -q https://[email protected]/VUnit/vunit/ --tags >/dev/null 2>&1