forked from MyEtherWallet/MyEtherWallet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
127 lines (127 loc) · 7.91 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
language: minimal
sudo: required
dist: trusty
cache:
directories:
- node_modules
install: docker build -t mew-build-container .
env:
global:
- ci_env=`bash <(curl -s https://codecov.io/env)`
- secure: S8/CyHiA4M/omHrfvUXmZeLun43yGMg3qYsSzI8HI1Wr+G8xrz1qA7LgehEGx40iTBge1NSzfr7ZyKhGGYJ6dAIGxxk7+nyoIrdyUqrkWgNgYHsZdJLnYTZhvrCSEwURW4WMCFR8LJVO/84ltvS9+hPvwtGPPuFn9BDXf9O9ril0guxkm1WijSdmpFFyMrUBZDIDw9lc5D9QTRw1gpkXYzboMvPE6BO+HQoGxid2NFqTYw9dOyNSFXfbD2ni7Z+hZRxU0YO66TndFtvXDHJvvhnMEdfHrG3xunq3Zml+PVIaCI50dNQUo88ajiZiMddCkf6b4UROQGtMmbE5t7FryuSRbWbRN/1oMcWa9h9THdICOg5R97CfvtE/debDi57hBICNpq1SKefQXA8NqKEQsl2tA/x/wwdSBANeKrQLBd85D98syv0H1EEsz4TIO1/tGAqktdxH4HxjgYt9txCDNlT4eiWPxA84e/MDYQsxj3MeP3WPg4CDUEYSkQiFEnlhirQraufjFp4B9rzMUZ73jH8F1Jp83/AirU/9CxgdfAIJRADT6cTkC0zjhganlI4BhFR90OXahgbKXcNoVGfIqcI/DPtZ8cOQxO4dgOepNlYK180kNML2eGCcyNwSv4UG5NLHSul3K9cQnFKqVFyHfAGEYPVypjZt6Rp5Kp+Mh1Y=
- secure: dWzuQFnoDWxioipSVCH3jSV3PIYXRy/YyLoLJ9/tr3Omqh77XbGR1CqrjdBt7lzabOgrOryXuiNxNpBezK/0vXAuFW5U83yzrdVfqLdaOqaay5PE/zSZtp7C8JMq6iQxSvjjRUyfSZowPfVTnfXr2Che9GvRWMMWqCGUQ0fCLv2kFEC9UQaFVFnS29UGRunN9Y+C5F45TEuaGnYWQ8yw+vQx0XWQBUwfv1l3C/W8v3Z7m1q1IUQTdS7ACPevExkRkz0XaTmBZyCEKAyuCLT4jGMtnH12p6292YSo9gbhcivlQzCcdRMqjaMjy+5L5SkFD0KEHPFQxp/3xcZ3iFNt2MFE3N7NpnYTBKBwi8B/FBy3tLUAZDYGDOMMZu8Oej+wrhEeUS29LG99vgWtiSqc4mhlK5zMikJ4SuLF+C8EtcqHhZf8xtH1uislZJGNoOk/Y66TCbXLfLVMbSzDi8wUei8imH8wrfnmacYylxz4Ch+8+PLa1Z4XgxyM8fogDJJSEeL6JfmdOG+O/j4pmGEo1ALKMwHilIUGL+JLnp0frVCl2I67yeXYeNdIwu/bDI3cGs3sOspNVBeTi1knBMpJ7Ed1AKTP/Ys0Ro/kGXqs/GixLknH8c5tENmUUCB2Ohj6zdExPqTxlB0ssPxuYev0LaxK1+MkIBvFOZrJURWR8cg=
- secure: Ce9JEDfoZhC7m249y2DtgcTaFeONsL9W5DKgR+NpSIASJ4sHLReDy+KGyFTysjUBSREUkEPnh6hd+wAbRhllEy+5iDRzgbt+Zn3FZbHXQJcRRme7Ej4ghZ0Z8qAKYiDWBv/oHBydNPpliAxA9GhfGGmBSXK+OJ8kPnH3OO4PnyR+7KWDKAHz1v7pdw5MKzvIe42ackVK9sTky94FYy/WEZRiNM0ZLHXuoApecwAUMiYlOL4LUgZ2t4W759dofHtf8zt00VSaTKSJoWogMRYDANktHP7K3NJRQzEyzY+uKuYTcP8ZLsUQikJqz9Es+QWO/DHlN/IHkS+Nula3kjR9nHVITpfEkwRg4e5n72xwTxtr3+BBKNFbly0lREvKgTS2+CAV+l/2ftTyMXEmk3Wjca/gzmZ+PnpcBLjL16CHrNgQU/OAcATH0wBYYN059fj1c2SZIwAB+o63/2znskpNKm5A1yS7H6AfKizj1OXZF+qWzUBW3msNqzyhsWecxjx0bxxIAYhcpG5+jcANVXaNlxbrdR8DClJ0T31ilqthCYkKNFlMzbYAx0pT2OG3z4UTwDbLK8ZOla+G7CXAtxcx5yRBlK3W2iTMOP1FjW/sMGWqYNRxss5Wxn/T4VgKQcERLy+AKr/OoIZ3g+BDC+02/aTvhHZlf/xxEOE9zq8VLgM=
- secure: Z/bpi72Z4VLH/uEgTfrZmv3rEHnxrwj52sTZmWhPsooAkYsTuJuYhU2V60jmrbuMfHShY5TOix88CzYdZUIvil8jnNwnIK7RlkgvZrGVrugOtsZZgyJuZnLRAwAcMRQ/toK+EKJ0AlPMFzO5yPrS4n83044MElvbh8nZfNarudl9DzB4Rubr5KIkIGZa+yCEqOAh533Bmdrr2Nsrf8eFssmQ9tPGIBBw1YGSBXy1paUTTUawzO1f67YV70AexF156jeCADH0j8h9v6Sj9O5hfAVP0tZYj3GJ6ctCVgQP1B0j1GVBIMgg3mXKRy+Q1LiwDq6fivbdJQ2+49cjjeDuqLFAW0dzZ3FFNInASxNGA3mjlLWknSHmwAwYBzfL3oNkg6ux3mzhUPccz8wN6pfcxPv3+HavQaViPMNAinedXH119urROTigrLt9udyzCl8P9tiFkv5g2Y4b4wln3twMXSuT1qDHpaES5xOHvzLcyY+oZWmrxBXUQUTaoiED9NSnko8HTvOlNvj0uCNFbIAvff/NDwwkgEf58e9y24YfPZQge+XDOhfqu8eVv75islH1Fh5tZ8WdGKSwHVnILkF3zvC1Lfj3qi+DGJq1LJLXqKelrJIv2iS2Cp+W9kSGxk1hsrjrrQeNLETyZeQPcOG6PkQkccbbYtiu+dyTAWtbwDo=
- secure: f9n3CmMOwFgH4A+BKHfpV6W67X1hATKEaJc5nE6IZk8Te1GGpebHka2ssO3I3933gA7sP8iPpMks1HTkEHYRl8kJBSjvJeINAAZz0crkUsabpm4yWdLHdm87Vpz0rSjPJRR35qHWZwYrLFIf2xPFj5jq7/B8Qd8gj5SzUgZ/WUT5sTK8L/wjmRdyDLJEk/knjVwjo/ZbrJNYs0crjxVZ9rgPbuzknwPYmcEJUvyt83k90Qk1r1Kn6FzW5SYzlaOX8ebwbyFO1ri9d04KIPAWeRjXabhNgHltg8Xlz8AbZLV5FgUQCmZTzWlOLXMinAdrYVSsj2e0BicAVMyYlW4aBckeeGJd4fF9gelhQqixEKAKwY/SUlqNQDEGOumdfFGLfAdv9jjba/bYt4uXj4f/0NTlF27QcDsVfRbWJLZHmykMVZsjriA9JOIB3q48n1VmExHyJsE0nDM/RnUpAQbI/BoknrPV61bHJRTzVLtrgXdUjqz77XfDGraDqQ/7VSK8MEn8B+dGDmUgc87IC7pkJ6UU+X5OlENS93c7rrkMIoCqhoQCeDCzzUcAYRBDKNt64hRuOqr/ujnYIBjH6nlczuTxYh/YCAglOuoNenp9Ua5dNtqTQQQn7+GO+GN+3RAPBryw5vp4sTp2sTbckJ6FEY3y3d65bRcWyoPSpN8rEYo=
branches:
except:
- gh-pages
stages:
- name: run on pull requests
if: type = pull_request and fork = true
- name: add to mewbuilds
if: type != pull_request and tag IS blank
- name: add to codecov
if: type != pull_request and tag IS blank
- name: add to mewbuilds develop
if: branch = develop and type != pull_request
- name: add to mewbuilds staging
if: branch =~ /^v.*$/
- name: create release
if: branch =~ /^v.*$/
- name: deploy to production
if: branch =~ /^v.*$/
- name: deploy to production history
if: branch =~ /^v.*$/
jobs:
fast_finish: true
include:
- stage: run on pull requests
script:
- docker run $ci_env -v `pwd`:/home:rw mew-build-container /bin/bash -c "npm install
&& npm run lint && npm run codecov && npm run build:history"
- stage: add to codecov
script:
- docker run $ci_env -v `pwd`:/home:rw mew-build-container /bin/bash -c "npm install
&& npm run codecov"
- stage: add to mewbuilds staging
before_script:
- docker run -v `pwd`:/home:rw mew-build-container /bin/bash -c "npm install
&& npm run build:history"
- pip install --user awscli
script:
- aws s3 rm s3://mewbuilds/staging/ --recursive
- aws s3 sync --acl public-read dist/ s3://mewbuilds/staging/
- stage: add to mewbuilds develop
before_script:
- docker run -v `pwd`:/home:rw mew-build-container /bin/bash -c "npm install
&& npm run build:history"
- pip install --user awscli
script:
- aws s3 rm s3://mewbuilds/develop/ --recursive
- aws s3 sync --acl public-read dist/ s3://mewbuilds/develop/
- stage: add to mewbuilds
before_script:
- docker run -v `pwd`:/home:rw mew-build-container /bin/bash -c "npm install
&& npm run build:hash"
- pip install --user awscli
- ssh-keyscan -H $IPFS_NODE >> $HOME/.ssh/known_hosts
script:
- openssl aes-256-cbc -K $encrypted_2bd32a0810e2_key -iv $encrypted_2bd32a0810e2_iv -in ssh-keys.tar.enc -out ssh-keys.tar -d
- tar xvf ssh-keys.tar
- chmod 400 ipfs-host.pem
- hashOut=`tar -cjvf - -C dist/ . | ssh -i ipfs-host.pem ubuntu@$IPFS_NODE ./ipfs-publish.sh
--`
- HASH=`echo $hashOut | sed -n 's:.*<hash>\(.*\)</hash>.*:\1:p'`
- aws s3 sync --acl public-read dist/ s3://mewbuilds/build/$TRAVIS_COMMIT
after_success:
- |
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST \
-d "{\"body\": \"Copy of this build can be found at <br/>https://www.mewbuilds.com/build/${TRAVIS_COMMIT}/index.html<br/> \
https://www.cloudflare-ipfs.com/ipfs/$HASH\"}" \
"https://api.github.com/repos/${TRAVIS_REPO_SLUG}/commits/${TRAVIS_COMMIT}/comments"
- stage: create release
script: skip
before_deploy:
- docker run -v `pwd`:/home:rw mew-build-container /bin/bash -c "npm install
&& npm run build:offline"
- openssl aes-256-cbc -K $encrypted_2bd32a0810e2_key -iv $encrypted_2bd32a0810e2_iv -in ssh-keys.tar.enc -out ssh-keys.tar -d
- tar xvf ssh-keys.tar
- gpg --allow-secret-key-import --import mew-sign.gpg
deploy:
provider: script
script: bash ./release.sh $TRAVIS_TAG $GITHUB_TOKEN $TRAVIS_REPO_SLUG true
skip_cleanup: true
on:
tags: true
branch: master
- stage: deploy to production
script: skip
before_deploy:
- docker run -v `pwd`:/home:rw mew-build-container /bin/bash -c "npm install
&& npm run build:hash"
deploy:
provider: pages
skip-cleanup: true
github-token: '$GITHUB_TOKEN'
keep-history: false
local-dir: './dist'
on:
branch: master
tags: true
target-branch: gh-pages
- stage: deploy to production history
script: skip
before_deploy:
- docker run -v `pwd`:/home:rw mew-build-container /bin/bash -c "npm install
&& npm run build:history"
deploy:
provider: pages
skip-cleanup: true
github-token: '$GITHUB_TOKEN'
keep-history: false
local-dir: './dist'
on:
branch: master
tags: true
target-branch: gh-pages-history