-
Notifications
You must be signed in to change notification settings - Fork 123
/
.travis.yml
158 lines (153 loc) · 10.7 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
matrix:
include:
- name: OpenJDK8 - Test and install Maven artifacts, Deploys Jib images
language: java
jdk: openjdk8
cache:
timeout: 1000
directories:
- "$HOME/.m2"
before_cache:
- rm -rf $HOME/.m2/repository/com/sap/research/security/vulas/
install:
- echo 'Skipping install stage, dependencies will be downloaded during build and test stages.'
script: mvn -e -B -P gradle -Dspring.standalone -Dit.test='!IT01_PatchAnalyzerIT, IT*, *IT, *ITCase' -DfailIfNoTests=false --settings .travis/settings.xml clean install
before_deploy:
- set -a; source .travis/.env; set +a;
- echo "VULAS_RELEASE=${VULAS_RELEASE}"
- curl -Lo .travis/skaffold https://storage.googleapis.com/skaffold/releases/v0.40.0/skaffold-linux-amd64
- chmod +x .travis/skaffold
- export JIB=true
- chmod +x .travis/package_steady_cli.sh
- bash .travis/package_steady_cli.sh ${VULAS_RELEASE}
deploy:
- provider: script
skip_cleanup: true
script: bash .travis/docker_hub_push_snapshot.sh
on:
branch: master
condition: $TRAVIS_EVENT_TYPE = push
- provider: script
skip_cleanup: true
script: bash .travis/docker_hub_push_release.sh
on:
tags: true
condition: $TRAVIS_TAG =~ ^[0-9]+\.[0-9]+\.[0-9]+(\..+)?$
- provider: releases
api_key: "$GIT_TOKEN"
file: "/tmp/cli/steady-cli-${VULAS_RELEASE}.zip"
skip_cleanup: true
on:
tags: true
condition: "$TRAVIS_TAG =~ ^[0-9]+\\.[0-9]+\\.[0-9]+(\\..+)?$"
- name: OpenJDK8 - Create Maven artifacts for JavaDoc and sources
language: java
jdk: openjdk8
install:
- echo 'Skipping install stage, dependencies will be downloaded during build and test stages.'
script: mvn --settings .travis/settings.xml -e -B -P gradle,javadoc -Dspring.standalone -DskipTests clean package
- name: OpenJDK11 - Run Spotbugs and check code style
language: java
jdk: openjdk11
cache:
timeout: 1000
directories:
- "$HOME/.m2"
before_cache:
- rm -rf $HOME/.m2/repository/com/sap/research/security/vulas/
install:
- echo 'Skipping install stage, dependencies will be downloaded during build and test stages.'
script: bash .travis/check_code_style.sh && mvn --settings .travis/settings.xml -e -B -P gradle -Dspotbugs.excludeFilterFile=findbugs-exclude.xml -Dspotbugs.includeFilterFile=findbugs-include.xml -Dspotbugs.failOnError=true -Dspring.standalone -DskipTests clean install com.github.spotbugs:spotbugs-maven-plugin:4.0.4:check
- name: Docker - Build the Modules' Jars, Run all Java tests, Create vital containers, Check if they stay alive for more than 20 seconds
language: bash
sudo: required
services:
- docker
before_install:
- docker -v
- docker-compose -v
- cp .travis/.env docker/.env
- set -a; source docker/.env; set +a;
- echo "VULAS_RELEASE=${VULAS_RELEASE}"
install:
- docker build --tag steady-generator -f docker/Dockerfile --build-arg http_proxy= --build-arg https_proxy= .
- docker run -it --rm -v ${PWD}/docker:/exporter -v ${PWD}/.travis/settings.xml:/settings.xml --env-file ./docker/.env -e mvn_flags='-q -P gradle -Dit.test=!IT01_PatchAnalyzerIT,IT*,*IT,*ITCase -DfailIfNoTests=false --settings /settings.xml' steady-generator
script:
- ( cd docker && docker-compose -f docker-compose.yml -f docker-compose.build.yml up -d --build )
- ( cd docker && docker build -t steady-pipeline:${VULAS_RELEASE} pipeline )
- docker run -d steady-pipeline:${VULAS_RELEASE}
- sh .travis/check.sh
after_failure:
- docker images
- docker ps -as
- (cd docker && docker-compose logs)
before_deploy:
- set -a; source docker/.env; set +a;
- echo "VULAS_RELEASE=${VULAS_RELEASE}"
deploy:
- provider: script
skip_cleanup: true
script: bash .travis/docker_hub_push_snapshot.sh
on:
branch: master
condition: $TRAVIS_EVENT_TYPE = push
- provider: script
skip_cleanup: true
script: bash .travis/docker_hub_push_release.sh
on:
tags: true
condition: $TRAVIS_TAG =~ ^[0-9]+\.[0-9]+\.[0-9]+(\..+)?$
# According to the ECCN team re Docker images on DockerHub: “…if you posted the source code on the Internet,
# you must notify BIS and the ENC Encryption Request Coordinator each time the Internet location is changed,
# but you are not required to notify them of updates or modifications made to the encryption source code at
# the previously notified location.”
- name: Docker - Check if Dockerfile sources are present at fixed location (ECCN req)
language: bash
script:
- bash .travis/check_dockerfile_location.sh
- name: Docs - Build and check the docs for dead links
language: bash
sudo: required
services:
- docker
before_install:
- docker -v
- docker-compose -v
install:
- docker build --tag docs ./docs
- docker network create docs
addons:
apt:
packages:
- python3.4
- python3-pip
- python3-setuptools
script:
- docker run --rm --network=docs -d --name docs --hostname docs -p 8000:8000 docs
- sleep 10
- travis_retry docker run --entrypoint=/tmp/checklinks.sh -e URL=docs:8000 -v ${PWD}/docs/:/tmp/ --rm --network=docs --name checklinks raviqqe/muffet:1.3.1
before_deploy:
- git remote set-url origin https://"$GIT_USER":"$GIT_TOKEN"@github.com/eclipse/steady.git
- git config --local user.email "$GIT_MAIL"
deploy:
- provider: script
skip_cleanup: true
script: cd docs && pip3 install wheel --user && pip3 install -r requirements.txt --user && sed -i.bak '/dev_addr/d' mkdocs.yml && python3 docs.py public --mkghdeploy
on:
tags: true
condition: "$TRAVIS_TAG =~ ^[0-9]+\\.[0-9]+\\.[0-9]+(\\..+)?$"
after_failure:
- docker images
- docker ps -as
- docker logs docs
notifications:
email: false
env:
global:
- secure: OTJydEG1v1bfteaiSYCz015XntC9VpciEgIiPpDB9RbNf1TfQc1xtmpBaKNJpWQ+zDgFUfnkAtgBnisJfXDDcjoHZzyF5vQpvU/4dmKfRCNbzCV889jMNhAqnrUoviGhfFszZEkkClnkkjDvM0QaFa4oX3lQlZZgr3QPiVl09dmUsPjZSG1pprGmkOlgz7qCIwJL1TFpht3IlQLQicSsjwSdaWJN17oxgBUO8VaSiYmOK4rrOrdQAsMO1KusarQFEbyIUaZfYOJK9a7ZbkK8/q4sYW9+Mo4HAbR/d5Cq752SFOSxUpeSEiCKOeyK1S+um40uCxIFgHTvYKpXPdA4n+H0GaHynt6fo6Itze7xzzEV3u2bWe0xyQGspEultI265vVLCqEIicyCMaAhAGh7+qxUJC9NYflIEQspAqWEfOqRTBmejCzxCx27bgDbhqA/U4smBgt4Kar1MRXfeGhobKZrl+ck5EWNAqcq4+2z7hEdH2VnOqyevj1o7RejQWbmWwlTUpDxn8tpC3jj12Y0y7gAzLEPL01fC63ZeXwULyT9SlR/MUOwYfG7Q0Wvl7sdVk9+A/MDA00YUvNaqsQat5Hr9KqiR72ZIXkiDv2v+9i8ULtLlhtd5qNVTr0RIIOx61UTEbWu3ZREEXu6ab8JOt3tmcccQXepB0CR9bzDpLs=
- secure: vcLLHmyg9EdWWZexfOq+tqGNOij4EYvm/0c1fyTVpIqPSN/I4hIQfuraFgyuBjo5VDkZ0Ty6DN+7vMXI9zGFAVJ4qYEWet4qrRG1TPDXFAmtx/HwSqPj1twoxZ9H1uNg4ot90VJ13OPQXAplH+hO7mlT/ZHDWvv3ddEGNv9wglQC9zQooVy0Cyw6xyoJEStV7m3g1kCfmCD1XnSEcpIPSIcnVBe7y5fwK+whJa91oJjYXB4BEmC1sDyZfMIOQWfuQMP5efAWKAanYCPtIg0wa2jua2OB+77REzrvvgVa7DJOP6SzkBD/znBrh631AtHIRvT4XjhVKTIT+pAny6fZEy0WcM3wbRE3Dxe88yEzX+al+INUpF7VSSXWQkidkbk10Uoxp2t72OFMKwtRKAq5NH5TpO+ViCbgCa24HU7GqvBmu63XF2fu4AL5Jc77MAH1asNN3Ik3xekUZ1/OAzkNpORJB4NBt9qCCUhR5D6zh5k2vdFwvvmZF0AT/CNShDl+iNfXLD8fGKoGgTIFcgnJl+FGTmokWnfTbm3fHz4v8C8Wu/hEBmn4Nu8WHpiHUNEoilmQ57m5tUEGQ9z2hokFrsMKz5hPcpy0+pfFadYzbKYlamdbxOpBde0Z/6sJ0exhR9QX6bIgeB4moF1wZaLh4Kvm/uomEEWOTd1Jydx3qn4=
- secure: eew3c6WkkNenE03DR8aE/pu4XD4RB7ve+ghjGSwiAoAGP6jwoPO5MSEBOyQjXknOpy8g4linFGrtSB6Q1dKjejTJcH3+bnTUGWa/4or2t8D857u1inLoGDSrLm0pVn7BYBT/e2qViBaVMM2jgQQ8F00y1qAewFULmP5dnRjJvIecqIOYIfvDENcWRN0PjBM6+IbY8ZGxBwosBU1fvVWHrmSPdJ0v4DDC2D/Ni5fKTLrigU82HXeQa0w17KFkZ6nhAyDUK4Eq14eIgQcrGgPZrTM2QDOl49jiQsZr0AXU5a4M5QxkCglEz4t0Gj+kSVfaOeOKh4ijTr9Jk0wROY5ov8RccxeMCYkmepidh2Jx/+dK64PFn/3AhUH6OfpmDuP4E2DjURE6nntDBiIAIHbOZOdzxGZK5QPSNtG3oZpqf9SUlrie9WF9DmFAhBzlhQ01Jq2cuw+GIZR2v0l8Ie+Q1EvB9Q/pjm8aq2P7sen7C+JyBpUaqXaF7lB94ab1NJRJ4jQmg+V5V20KskMrIPNLH6wYXp8rKyTJgcvQjJcVSOvyi4UNw0rxWzCmbv4D970QxhR1tHO4rzymsTlZghYhm3l7gvg2OVErJZIEB8eB2oEem/fAfWaQf4eoTdSuXwdUmf4uRiNGIDr6wQy3dhnXlD7Hs/l+ZnGUBTeKC3qN/E4=
- secure: j9ii+abfyBsHRBlVMebnDK0fJ8vjf7gWjdBBuOs6Cghp+MrnNHjojeGp1ylNQGGQB4/fcEjOr9HpbB0CRg8u/MC1AFydntIGcNwDWPCPEGlZtsolELRyhSr16N9KRfbGC7zOzI8H1jCPs8jtDeK3Fyn+XVrVWAJTNeAVlfyE74840YFZagl3WCooDjrTkcpxgSqjNRsKT722os3hRQ7CKWMeOptHxfWtMmIELvQNnYIk+6aY562sjLZ5ObfsdUddnrpxO94wpZn/O6nqxJx0qSKYnY/suVn7vDq9nzjqaPefRJUZL7r0AarAFYNH6z5mcSD9UpusckZXuV85SgRH1MbgjoqxIjsEdVWZXs0vvs5WdeVlEbTBceeF78bmjgk7dZSkQhGiakxwenPtVEygmsevqLyyHyk8QPD/r+NjV+PonfHmzVpeKfgc7L2mJqHFvf//+Ko4fZYvwsN4127ZQCSv88MP5eauJcDNDPKJObX3xItaGSACAsnvHlYfZqS2Iqo0/0p5dKcFy5lEcU8aecgiSwpSbPesCvDCZtldFXSU4f7JYn5RF/TWWfKQDrVsVZ+aN1T4Tup8V6zlj8kMCLxJKI44C+hsBrO+MNC5UeG/3lQw30UibMQmUt8S47GEGc39NlQaKo+JhhYfr6XrQuZQVV2zmaxD4S23W42gpx4=
- secure: If96mZyElKZkdkzT3DoiTUgn99tuGicwpHu+M+hyYYgUOvqV0ngSNtYQry56kJjKd99SSOWyDmtOpw4YgyFltD7DdX5hHcMg1hDGQQne0doP7A04KhY7l98qoXEjLzVID4D01LnNstVaqpAX7PS4yxYocapFTpc1UxqbH248toPutiXY6kupcSTveL29ImTCBW4B9J0Dq4I6M3ouDjSUTVaP12I1bslN/sui7lL2t06QYE3D4KGq1T0JdOk7Jhmk/EcdMPisM1+qaDwycXFL1bK837HVbwLNTgyDpjAHdQeoibZunRqiY3u2N6OqlRgwG8FBsxvjqneD5wTqi2GGvm/utY/iq0/TnUqIsSKlboDd/Zb/WknRNihWEogiVPA9+yw7B6Q/wxTg4bKqsP9aq++6Av/vO6VGjy+Rg1Wr08e19A3JEhf/XuZlkThCtHWnudMEKzlZ+ZhKsI9tKimmy9p9mlSUeojoyYmEVa+lfhdSXdqT/unIhqZtYn20+HZQe8mGgAqJbTYDkHIeYfzL1QtoSHdBykOryxvxY8hMldMqHRrUGRIxIk6JCjzLtKTyotBJ+blIcBfJJfsF49rX8rnVlOgSWDONHnAitxDgflVvI6uHUwxlYEcnY5Jqq4cYKgv6vTm2hjEsWC54TGUq6ouo6vtOwxHUkB72bn7KMiQ=
- secure: ndf3rN4fFxb3kke4yjtoODrdpOCjYupUifvaEYnA5EfJeEEUQtKcYL123Qz/Zl/JoVE+4h6QEUhFeZN0WEOJo+GiezblRZPjkRRMBzKkH16OdXE2vEoFgLJP1/mRjY7Ec/6iVAxg90POUyb+Nscwfz0/MJwFlNvTfj62NISQ54VmkPMiQuE1VCud7tD52PlNHYba213Ztw/70w1JuUy5mZoBa50DynXWifgnnIzsjkIkQF9tzk0/tdgUFxzhDhfepjyvKi+OzjCnLK2LakSBT2iLAuYcus+8SvPY7NXrOBahw6w/XUrLNwAg45Tp8L7hwfa3447DTqtp+eB2WNXVGUCttU4zwAPDarC7CwQiqkY8qqTkPAx9bnTvtL2S3FeOjt2ZgHKF/pX5e67lkVGRHdA/DXcI1NsQIcwjr1/LpkJ6eLykADYrjCm8syMDWMEHpKqPVpd3jPjYKPfEqpQdBx7EUxs0o9lGawb/cvyxmETtOiBNCn0nEIHuqHEtzmLTnxFdmDa4QBGsJ5slmeAUkjxjh8N8L+XyHcZFKdSO4weaOLIgUtwEct6Ug8axcNfVIuSKCRC2lrWCjBXAuxQPA5SVwkfWwbxOY8KjzxiG7/9aIs8uXnD7uBuFxqh+/5aRalxX8lWVCP1oTXPSno4CX0BSYyU9iVtOM9eYMhZXsiE=
- secure: Ha3mE9/zcgs6UH3oC2zf5vA/c7Mux4jxx0/srbXp+7tJ+QHiFcjnxx2nY2KCGs878ucJd55Oz20kz40pgp2KJi1QiZEeuq3AFI+jUjxLBwuVXRHUOfgxIJe2k9QrS8WlCbFePv6FhDHrEiOVC2mgtQgnu37AZqKUXUDvXg70a3bWza1IvY8FfxOthgxYhzITjdjLUR0TdVUTwCbb3A6hYPCrdjZUWTI1kIZb+NRffBICOLNEFYJBPbd5no8szatbOajeNk0tKfCgppaxGAavzJATi8pRY9tYQV5GoXaW8LYl5iz4qLKETya8XKCZGX7NsVDjjQZQg7qEz/rkkZiDNNTBbOrj2uHzPEJFm2tReFti9bnYYtV8yGwqvL1BQlBeS28881Bfr0M3Su785uxaaOtVpMG2nBEgS7pRlefwq8re8miMSkfaOZh7GMBf2vEydWD27AxiMMDR1rDqAA1Yt8HPQ3W/7ZmIID1rRI08jgEkt42UfVfrhDwl5Y5ezOnfEjGVMrxskltsuMELB5yT8AkTHkraJcylCCKMH/N214p3JXAYb8M9SQS4KnW1lghK8+ubs433G6uSqeIUcCxrJiYdwig+eb8dBxDlVo1CkMDR1V2lEG1MUAJtJbrvtZmoJkY0gXsKoxqn5yZNPO0r9s+StMFOLTlSZnGmkUXE2F8=