forked from The-OpenROAD-Project/OpenLane
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
194 lines (186 loc) · 7.97 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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
language: shell
os: linux
dist: xenial
branches:
except:
- create-pull-request/green-tag-update
services:
- docker
env:
global:
- secure: k/2jtFHlalA03U7eLW/NPYg3sj3qjJIEvPXtb3tjgwy/Cr4Xj5Jr45bWtByT6wuPfp2BEU9YNqHLGneQkI5FPsiVbqVZ60w/dcIifWuheZnrHxKWPt1HYA2i3K+aCOJyuacxbS9mq6vsf8+UbM3rKh2oBK4xsiWLvfh/w26QiQx1rhm2tVjVJrAgqlqBfIDCclOdVzKYLlPSCe3BPW3216VYhc9IXk0OJgA/UFFRqolsOoLLbPfrnN18daP2TxbNYuwnRNRVdzlKHb+UefEQOe5Ga5MQGXd+jSwnLUbSETs/zoB4WIKC17YFSK61F8ZjkUPtONfJAQe6AkOpEDkAqNkTKWpezrmIBfPgWaKXZxC7q0ZnFYCy98rG7vGxIU06xWNxEJBbY/+AwSGeCrh7EG6otpeD+9GF7UDt6g7ROhKvkJY87xzPY1O3daDEmxWlAEVeT6sjZDHMLc+0BOtX5AH3+TG+pPZ0r1uhigSgSbz6nUXo6HzmAIiHQhEfWBHukaIayTm3o3VEq+H3mbop9/0r4EZvE/jMk44JUBUGfm2bARuy98IsK6wfeaWjBdIlLqwdRo0gQ21JIy4Qysw3savmYFnk2bB+o8iOXBe70p+pndh4EAxhM+kDlK9fTsUfoV0Bb5vZjqMQnAv5iFYqP2QEMhVHbcLQlXptArOo7Oo=
- secure: IGC36At04wl5D6YN30OUTsS5j7rQCEEBEsb8LGCRJ8wg4dFINTLJbIBf/m9TTmN5qYAbUcpXBdsiZd+DHFiRrL0NCMhLEmc/n7AFoGTrS6SQCJyy7kOikOpPSJ+xMgJ6JmYQwgz4F449gB4+ya6FOYDjGr4aldQwmHco6gq4qCGyA7JGH9VcORjjZZYdSZlIGBdFD4VA1yi2Zkko7PUgXlSb/NZzwqBkrCrpd/y/LrUCVO0vwOWpglrHCrb4ZYuPx2aNtV5F/VCyqua2TSnEaNIEzIlcKvYqZhZ1HNGBrJlNEXESTz74tkRE9GdI0rO0YmZSOQsWCUDq5dMaf+6s6j3wEbsb0JJNkYSU/ohjJ5giwNymxTPfUVeG62EIp8srWI+wQqY8t9sQrWR4CkZd5of47Q9mpfRsdoawA9edtTP3api8Geu5V8rYWgAqg1N8CQeqNqQaE7WYWZ5PnHzCn44VZUSAPDyn+UGAhe6NtTW7Id0VxSWBo8Xiq+vmUeCEs5pvk19qBrpvVWFukEQJIMB49ziX7F2Vdt/VRpBiotvvJ/JFk/4NHe8bdPH7hqrd8FNAN05CpZrozGfpp+oyA/mOxVcqulGrqTThYjLCAsIVcLnpK2DL4bSNpPEZEUxaSTWpM7mjpjYgkUsyYcTzlhrz6f+oNbxj+TyVAjlLsRI=
- secure: hh09+qlBtTvSNQQcFG5dooP9G0pioCiXm9i7stWNzlzDe4oMXTsRWUFC14cJRos2og8l/re/haPEXj3jvjqeK/aD4LGkVPHG4g0kJauAB8roJ5YyQPhj6ejl46+w6IcNc/dorMEoYV/UlTxHFyWWhC4N4kPXjOO/vIzfXwKHbixnKdpPuE2BbJOKWXUqwzqQmUPo0fPWTGrbaaP3CO0hsVbLa+pVsUTR6SixakC+IfaBtwapQtMe1V6db6+0kTYzGYcR0mkm+qFPArQYqSfWwukFLzulbRWHDOkS8+VOFfFZUbnYYA5N0haVz2cl6LdIPadxvoKqin9H2oFn/G+9k9JHlehwfFJKZV4SDfMTsQJiKlAnqoqTw15fVITl12n5W4Pkou7wjUMur21Yg4FPSwuQomJ3Zax82rxv/lH+xk4YtFPt+IJ8uZo0HR4IgoKU0UAspXV3JdDO/XrXP64sEIN2dS6APBKlhWmJGlmQnsgrA1rjc2NVg+qeQMjSy9jfXD2+CpTg0pq5HrD/Yvolw/Y76Xqgt6mGO8T0YEI+TTEXOEtHro3Yfb4o5cyxJ8qPFgXJvWrq8+YzMFkKpfoLDSLuBcUJ5eGAh/pGBF/jaxs+5xCR0zLkSynHwUdpT71UaNc+XP0BPZc1CtwZ++pt6+FN+GDh1WHUmFJzIGXHp+I=
stages:
- docker-build
- test
- github-deploy
jobs:
include:
- name: Base Test
stage: docker-build
env: TEST_SET=spm EXTRA_FLAGS=-so
install:
- if [[ $TRAVIS_BRANCH == CID-latest-tools-* ]]; then
bash .travisCI/travisUpdateTool.sh;
fi
- if [[ $TRAVIS_BRANCH == CID-latest-tools-* ]]; then
bash .travisCI/travisBuildTool.sh;
fi
- if [[ $TRAVIS_BRANCH == "CID-latest-pdk" ]]; then
bash .travisCI/travisUpdatePDK.sh;
fi
- bash .travisCI/travisBuildImage.sh;
- bash .travisCI/travisBuildPDK.sh;
after_success:
- bash .travisCI/travisPushImage.sh
- name: Fastest Test Set 1
stage: test
env: TEST_SET=fastestTestSet1
- name: Fastest Test Set 2
stage: test
env: TEST_SET=fastestTestSet2
- name: Fastest Test Set 3
stage: test
env: TEST_SET=fastestTestSet3
- name: Fastest Test Set 4
stage: test
env: TEST_SET=fastestTestSet4
- name: Fastest Test Set 5
stage: test
env: TEST_SET=fastestTestSet5
after_script:
- if [[ $TRAVIS_PULL_REQUEST != "false" && ! -z "$DOCKERHUB_USER" ]]; then
bash .travisCI/travisDeleteImage.sh;
fi
- name: Typical Test Set 2
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=typicalTestSet2
- name: Typical Test Set 1
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=typicalTestSet1
- name: des
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=des EXTRA_FLAGS=-so
- name: BM64
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=BM64 EXTRA_FLAGS=-so
- name: aes_cipher
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=aes_cipher
- name: picorv32a
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=picorv32a
- name: chacha
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=chacha
- name: PPU
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=PPU EXTRA_FLAGS=-so
- name: y_huff
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=y_huff EXTRA_FLAGS=-so
- name: blabla
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=blabla EXTRA_FLAGS=-so
- name: ldpcenc
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=ldpcenc
- name: salsa20
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=salsa20 EXTRA_FLAGS=-so
- name: aes_core
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=aes_core
- name: aes
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=aes
- name: sha512
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=sha512
- name: genericfir
stage: test
if: type IN (cron, api) AND (NOT branch =~ /^(?i:CID-latest)-.*$/)
env: TEST_SET=genericfir EXTRA_FLAGS=-so
- name: Push to Github
stage: github-deploy
if: type IN (cron, api) AND branch =~ /^(?i:CID-latest)-.*$/
install:
- if [[ $TRAVIS_BRANCH == CID-latest-tools-* ]]; then
bash .travisCI/travisUpdateTool.sh;
fi
- if [[ $TRAVIS_BRANCH == CID-latest-tools-* ]]; then
bash .travisCI/travisBuildTool.sh;
fi
- if [[ $TRAVIS_BRANCH == "CID-latest-pdk" ]]; then
bash .travisCI/travisUpdatePDK.sh;
fi
script:
- if [[ $TRAVIS_BRANCH == CID-latest-tools-* ]]; then
bash .travisCI/travisCommitTool.sh;
fi
- if [[ $TRAVIS_BRANCH == "CID-latest-pdk" ]]; then
bash .travisCI/travisCommitPDK.sh;
fi
after_success:
- bash .travisCI/travisGitPush.sh;
- name: Create Soft Github Tag
stage: github-deploy
if: type IN (cron, api) AND branch = master
before_install: skip
install: skip
script:
- bash .travisCI/travisGitTag.sh;
before_install:
- echo "$TRAVIS_BRANCH"
- echo "$TRAVIS_PULL_REQUEST"
- if [[ $TRAVIS_BRANCH == CID-latest-tools-* ]]; then
export TOOL=$(echo "$TRAVIS_BRANCH" | sed 's/CID-latest-tools-//g');
fi
- if [[ ! -z "$DOCKERHUB_USER" ]]; then
echo "$DOCKERHUB_PASSWORD" | docker login -u "$DOCKERHUB_USER" --password-stdin;
fi
- export PDK_ROOT=$(pwd)/pdks
- export RUN_ROOT=$(pwd)
- if [[ $TRAVIS_PULL_REQUEST != "false" && ! -z "$DOCKERHUB_USER" ]]; then
export COMMIT_SHA_5=$(echo "$TRAVIS_PULL_REQUEST_SHA" | awk '{print substr($0,0,5)}');
export IMAGE_NAME=efabless/openlane:$TRAVIS_BRANCH-pull_request-$TRAVIS_PULL_REQUEST-$COMMIT_SHA_5;
else
if [[ $TRAVIS_BRANCH == master ]]; then
export IMAGE_NAME=efabless/openlane:latest;
else
export IMAGE_NAME=efabless/openlane:$TRAVIS_BRANCH;
fi
fi
- if [[ $TRAVIS_BRANCH == "CID-latest-pdk" ]]; then
bash .travisCI/travisUpdatePDK.sh;
fi
- if [[ $TRAVIS_BRANCH == CID-latest-tools-* ]]; then
bash .travisCI/travisUpdateTool.sh;
fi
- if [[ $TRAVIS_BRANCH == "CID-latest-pdk" || $TRAVIS_BRANCH == CID-latest-tools-* ]]; then
bash .travisCI/travisAutoReset.sh;
fi
install:
- bash .travisCI/travisPullImage.sh;
- if [[ $TRAVIS_BRANCH == "CID-latest-pdk" ]]; then
bash .travisCI/travisUpdatePDK.sh;
fi
- bash .travisCI/utils/bash_run_wrapper.sh .travisCI/travisBuildPDK.sh;
script:
- bash .travisCI/travisTest.sh