forked from VUnit/vunit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
117 lines (106 loc) · 3.11 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
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=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/
# Deploy to GitHub pages
- stage: deploy
python: '3.6'
script:
- tox -e py36-docs
- touch .tox/py36-docs/tmp/docsbuild/.nojekyll
deploy:
edge:
branch: v1.8.47
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