forked from anz-bank/sysl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
117 lines (115 loc) · 7.8 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
sudo: required
language: python
services:
- docker
python:
- '2.7'
matrix:
include:
- os: linux
dist: xenial
before_install:
- go version
- go env
- export GOPATH=$HOME/gopath
- mkdir -p $HOME/gopath/src/github.com/anz-bank/sysl
- rsync -az ${TRAVIS_BUILD_DIR}/ $HOME/gopath/src/github.com/anz-bank/sysl/
- export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/anz-bank/sysl
- cd $HOME/gopath/src/github.com/anz-bank/sysl
after_success:
- pip install codecov -e .
- coverage run --source=src/sysl -m py.test
- codecov
- os: osx
osx_image: xcode10.1
language: go
go:
- 1.x
go_import_path: github.com/anz-bank/sysl
before_install:
- export SYSL_PYTHON_DIR=/usr/local/bin/
- python --version
- pip --version
- go version
env:
global:
- SYSL_PLANTUML=http://www.plantuml.com/plantuml
- DOCKER_IMAGE_LATEST="anzbank/sysl"
- DOCKER_IMAGE_VERSIONED="$DOCKER_IMAGE_LATEST:${TRAVIS_TAG:1}"
- NPM_AUTH_TOKEN="SOME-RANDOM-KEY"
- secure: zGXXgT7YUCvnwTqn+xCs1VPHNDApvf2UTuVs0Jyz/2mhGt5D1PjqvRx0+OsPmy+/rOYW7hexK3ch51HU53J49cnPhi2sUfrF0GzhAYEBgQ0aULylv+KkGkMzcw9EPmtuKAXaBly8CSE8wLyyEq4Kdc0T8QNpgG3zYA10Cmuwc6jit0ItIpiiusgFX7bD3v4bilDqwjed+FNUAe2sJ7PZRVxRHY7lMs05sopRifxfXxHPXKKhGcz+/N0sEG0h1jk6Au29mhKw++f2njbiC6HjZemI88+sTvDoA1WSyvnvz1Dj3Rbc6pzXzUYOl2M7k7XWxe2R78w0L07KM0jL1LhKkqY8Za8Fg0t9z6hvSbpaEu0ffewq8ltQdzMMuFs/yAOVH9u4aEk8+5biG9iifacX+zufRWBlfXBePuu2gGPv22LsZtYNLvciZgldJ2oXtizipLyL8UGTx8hGIVBZAlfBPzzlbzzdD2AwY4FXJ0Lvc+4sBZSXX48l1GEkaX7Okn+43InKPyd67uZ1N04WA6uw15nHvkuY15rFlaf8/VGEZWJZQ576OozHIWhNqDV2yWohw0GRDeD9B9d3PX0Lnx+GSCdI8D7yylsOLUa7RbO18NH1NWCofbfuKVhmnVKeyhvgFOjtM95v2OeTbLA3jTZOzqGDyIN66JdE6L5oZ1pBLZ8=
- secure: '08O62/bsc7I9fc6vk5yJ3PXljjyjvVNJwT9UaYmv7pMc2YhrwaH2+MAIGMRQZqXr0dc+24OV7wBeszemKAISHYtWH/7ql5usTkOsL0Cww6wp1M01DUeZKL2YQChMKvNnjF1ajPPDWoaDOLbvt824olz7Gd2AcGR07Jlhp/+8lxovcMIGRlH5O/F/Lv2eZAaRqZ3Fh5QbJxNMquvFRGEW/eomCKGPd/8oDpIfdlDC7bsaG81pD1Y1OdRBPRKwQYy7Ur7mXllDXYonARPwlg3tWrG8i59yVd5ABRKd42+wjozeoEbt32wJgTwZcQDIqoFPSkfezGn1EFWIJoFJJJAikP0Qmof9nRHnypCpV2NPkAUP6dXwwsasrsKkVWOYynsyVWT6sDrbDXUrJhZWWoyMrUS5aoWP7agkqNZSZQkhT7bENgk4ehV/qDrgyorg6zyqugE5G7pLKYIaJ9b57S2ce7YncK27n+kfY0SfrFWhy6SENVK1acUYqzddsfLzs5kScGAyI28vci0Q3zmzQlSFa7OW+h0Kq/w5AAkTkX8apS2Fe2qyGXD46G+59V2TpwhVJu6SrH+uTXdYEg7ti9+7VfiW0Sz+YxqCkWhis3fg5ek3u6zg+mjJOomIGekMorAcpD7Nz3nOhAvIwBkt33wdqvx9hqi+nJQrHpbrBjC2wpg='
- secure: RjMrJ7eu0rZxVb4+ytSoMy1kxnTeFnpSUo1SWu92B3KlQuIJb4nAE7x2qY4BNzh+d+eUKaeFIlACW1pEN87MYsPNp5wEG5F88Cbp+LELzXfUhMAWrj1LJXFLasHESPipye4gWUkRgUSlVjO2fdPwcM/9A7OLSt/vESBeTTuidrjmtebckX71mZp94Y029qSeXO71Oq+xc/O68Sh8KDg1FD1GSWddA5e2vV8GbJCPHtJ5IgWlqVm58gZQHJUT9pzkvrGws9UtMWeWMLHb227/IxDLE/QYNUn2pKMhz0frqq6Eq8mjCtFYX0wDLtwiBasYCRErU9Pb5zxYSJy3IDqiHDZ5Z/CT1uyplr53EddTUVC95UOCJMq73YKp0tUP5kNEX6v0RMzX54FGEelJ7Pj7AakJYqcVqFlXurMlWvakPBV5KjyLFbsFcWaAvqqgyCgGSlwylAmTGh0n8/RjD2Mw6pTDWYTPlvIzLJi52X4KmWR0ZT2+nqUY798vnO4WMTsmWnb0zi7BHX+u/rPIB20dfYM0lM8h1LuHg1oEYrgoHz0ZnfgP1jyXr/qkYJ31hFRR6vwvJjAHKn0FbAy4KPFNCWSIS8VlLegIjW1UxQddmqmhs60m6Sqg8JQMsm6DLxNb/bbTGSIOBQaVChhxrKaBcVnKNl8lGbdipPD3s18SIwU=
- secure: Gm5kztwSXiB2sKd8x+plyC9jpDMGhGo8HT9icHheazRNx2ybGI+612CvBCuP2aLQEJ0wy9Ld4F2TOFAzcd8P+/NbtfIQ8HsdoOqqWQCwSwQlgwHhpA47aVKjKnevx7mQBIWuZmvSf6UTaHilNOhXB22P0nZ36vBxOHcgVcMGiHDMK3CRkyvAFMvOkVsOTu3LE95xEn6Eu7sdTWTxeOmSBuGhVCAiJa1Q6T3CiH3y5W7uU8o3O1VI/8ZKcxoxU6HtU2iodRaTh8s/uPh77voU7iGxWfGGBiVdJbWCxAkEZ5IkCMrZuXEz+y09Mk+sn2iqiHAdiqgQvUUOQcOGMeyFmAxI3R430Nd3UOTJziCYYzBKuk8f7dMvtACbcoUPGupWWGnGARutemLEE6Hsm1wYmbhg8OhfRmZNL8+9ZLvK9/Daq9Z0zNzxXaFJHZaTLldpsu5Fh8nPe7hc0ov1+1Qj1rgukZ1AtETTVo9OXN8Nc4aLr09BuLvjOyP5VM8hYEt8mLOd10sePDLYlHXg/yzai638pBJqfNebEQJD+4Ky+T6EKVqVoGnDHQiKXiYbrtE9zoTlxaMwyFDOipOwdPrfOl686Ey1syd7HjXkHqY4qdfMVGkcqOgPEhFJxrk9n14XKT7kxTB/w1UJt27IRldt1asIcxlN4szRWMMT/VAvIqY=
- secure: JpZex4/1toaCpqVLvlb7aEduugEnFdK2skrhGmSPc8c3d4ThZhCtchgtcq2vKioehU71VOPKkWcAXkRy7T+Clk6xsUAk75upXTEhJS9PcdElmubgwUlDvxujvvfPw57wBcD9WE/Li4Dad2fc9QC7ZTvUANsyHCnrgbkazVU3WASf39JY2847QWPonHltbJf+Ff4pFVFDFlTpSFrSfxvEGd9s8hJckpZjBt4uJzhlhQzXWk00rd5N5mjR53A11DtwFSSA5LVhZBSQ031pD7qgEkNFuntE5BGy6b6vUw40imO9upmZiAPCauw8d3iqSgum7RglhdSFXkDbIJYsdTnU7a7EKoMizIQCk5tiyAIGSnNt6+iq/coiM4lm12Pd26BWJOh7aGhzqXigeHjU39Tf+y7WvzgD4YSjhgm3m3hVlixQusvFHifIb9OEHDTTzCIOj47AMdZVPDdvCHKU2ojGSe+BRMw5QeaY69Z5/sZBqz3OYrX1kv6AgH1PndinlmhIFo2EFmjoh92+OMiXB8DUVthMhuah1WHaq+Zw67/faqM8+1NUG6yjrWlxf+6fpVQxJi+cRhfR0gZRCSusFA/wgEyf5e2TbZu8U7Bopw89UpZ97++jUdQZrWwe0FU1oOH9P4UdoONAU+y6AUa1y2EP2bFQzNczOXNsw8UMCB+opkM=
install:
- pip install flake8==3.5.0
- pip install . pytest
- go get -t -v github.com/anz-bank/sysl/sysl2/sysl
- npm install --prefix sysl2/sysl/sysl_js
script:
- flake8
- pytest
- pytest test/e2e --syslexe=${SYSL_PYTHON_DIR}sysl --reljamexe=${SYSL_PYTHON_DIR}reljam
- gradle test -b test/java/build.gradle
- SYSL_PYTHON_BIN=${SYSL_PYTHON_DIR}sysl go test -coverprofile=coverage.txt -covermode=atomic github.com/anz-bank/sysl/...
- npm test --prefix sysl2/sysl/sysl_js
- GOOS=darwin GOARCH=amd64 go build -o gosysl/gosysl-darwin github.com/anz-bank/sysl/sysl2/sysl
- GOOS=linux GOARCH=amd64 go build -o gosysl/gosysl-linux github.com/anz-bank/sysl/sysl2/sysl
addons:
homebrew:
packages:
- gradle
- python@2
before_deploy:
- python setup.py sdist bdist_wheel
- gradle build -b src/libs/java/build.gradle :jar
- docker build -t "$DOCKER_IMAGE_LATEST" -f Dockerfile .
- docker tag "$DOCKER_IMAGE_LATEST" "$DOCKER_IMAGE_VERSIONED"
deploy:
- provider: releases
draft: true
tag_name: "$TRAVIS_TAG"
name: Sysl $TRAVIS_TAG
api_key:
secure: TkWCKFPiDVTbOup9rQi+VceTbXHWoHphMzB6ZJ3bBGPZsHf2rZeVdknQ/9jcUHiYdnhvFspKpp2Dn2e58At8IJTYRx3F93uBCFu9om/U2UtphccO1X6rZw0rcCVTHIuosvyp7iec3qxxTwmnIliQvHnnVJgRzt6IKw/jjDyMZzvBrch52xQV5eDOacW2PwfMJ3Q03UI+fM6C8F/F7RW1T7k+jBcXTzp4mr1mPm3zYvvKBjFPLQk4+8lT9Nbh+FGAXwc6SVl1ue9jQIH3zK4ED4y9uQcdFaz253QqXpnKCl9kJhyYnlsKCAnqqGm/X9DrZUqxYWuSMz9DWA7T+ulI0LO1w4S/DNkZ4ksaGYuwHqVTBSErEC1cJZgSRSsedjaENZgav/FUFL4+3WQf3wP+vM8UzGVJsUJEWlx9DFW61btRwBEJuflVaL6HqhDBebv1sa/8vskcyaiMszxr7V58/Kh3AGC3KBX6sqU0Oc5KXWwgsYiQbNIctFZR0EbcH4aO2yoQO5RPJW8KkaJgMYec6/si/2jT1KxHsA2PAE7GQOOyhTIrTc0AEAA1/6rb8ksIlREOObv4YZFdNYLP3Kv3PGECbHgDh9Ee15MtnezHQqY9qwbh2+0T6i0heHa/1XgNOiG/Y3OpriB1vil/yerH1FJVr6i73xXAyRpgnl4EC7I=
file_glob: true
file:
- dist/*
- gosysl/*
- src/libs/java/build/libs/*
skip_cleanup: true
prerelease: true
on:
repo: github.com/anz-bank/sysl
tags: true
condition: "$TRAVIS_OS_NAME = linux"
- provider: pypi
user: sysl.usr
skip_cleanup: true
distributions: sdist bdist_wheel
password:
secure: j9NRzqbk/hq9U25Ig5r2aA1+Y/asG2jqP4T35x4cwdosE3r4i9delxG0ZyLa4D44OYM7joIPdMyr9khlfK5HBXqNC9ZzhlDyYlg5/LJmsM4TeS5KaKyPL89bqDAX2NhNgVjb8J68XsKkizYjzVeKbPl5UYdoyv7t4yLytlsAjRBBYmIo5mJ9Obx1Hb+nUP7Ny4Pwl43Oxkr2qS91iD074V4B0czHjMvtizqttOGTr81TzPbuDsd4/DW8GVQF0gPazg1/UqhN37oAKpIH9k5u4ScrKQkUGDO1eOEkwogTqOAcOTu91AZST/1OHN2ZRcMtvcyY1QJWq88s9p9DIWqsSK42bb4L0SziNa23hvFUpkaxsnl6MCLPaHP2zpo3cyKOGmWT6JElv9hJBVFimCG1V1b/YNHVuoNfz6J3gbW8ILw9e6vebfQRHHqAwBQWtRilHnO5jRcLRIvBSZyApYw6rBUGtuDD2GbXwcFVbIde1xqfvt3dlB/ZC4PiyXqdwAKadjTxycP/Aexzg4YpoWnHUS+aeFJVy+Qb/3H3lZLNIz9zRqCnIvpIR0+hzTgNVuVRrr1WlupIPxY47+cy7s0dhi3gf+/j+YxNgKnTlZin+RvcU9+49CL9DYyMYYRA/RauJi/pa7hbEvxtY/AykcvRpQcv4Crl1mTOn+zqvrFdCDw=
on:
repo: github.com/anz-bank/sysl
tags: true
condition: "$TRAVIS_OS_NAME = linux"
- provider: script
script: gradle -b src/libs/java/build.gradle bintrayUpload
skip_cleanup: true
on:
repo: github.com/anz-bank/sysl
tags: true
condition: "$TRAVIS_OS_NAME = linux"
- provider: script
script: docker login -u "$DOCKER_USER" -p "$DOCKER_PASS" && docker push "$DOCKER_IMAGE_VERSIONED" && docker push "$DOCKER_IMAGE_LATEST"
on:
repo: github.com/anz-bank/sysl
tags: true
condition: "$TRAVIS_OS_NAME = linux"
- provider: script
script: cd sysl2/sysl/sysl_js && npm publish
on:
repo: github.com/anz-bank/sysl
tags: true
condition: "$TRAVIS_OS_NAME = linux"