efcsydney/efcsydney-roster

View on GitHub
.travis.yml

Summary

Maintainability
Test Coverage
language: node_js
node_js:
- 8.12
cache:
  directories:
  - node_modules
  - client/node_modules
hosts:
- db
addons:
  ssh_known_hosts:
  - 54.206.106.116
  - 13.210.76.160
  apt:
    packages:
    - docker-ce
services:
- mysql
- docker
env:
  global:
  - REGISTRY_USER=kleinchang
  - secure: Mu010l75I6ucSpaSbpE2cYZLanDAZR5WxdI/2TPLuquFmF8kl/ojBYw8xZIvJmdWFhb6mHTgzl7PpY4zd0mbmhpwzAbLmn+ZCBm1d5JLfN9KMeMk9HKR7r+qYiauFBEtiuwwbD5aanH1l03ZgaPVYuFWP0O0fzfNoN+356G2cgHtrKBKFEMEvyvDjsVr03tAQotnxHsrnf1afrzKIS0kFWSlP2GleZoGyT5BLbn8Y1VHgNPK7NTv3oToyyt60Ykfj4z4vPyHVtClNuVrAMBdyOd+NEsUs0FSEKHN/W+9zdYJBDO3JFCgzszMuniFwDHBpBYq25i9r3OhizjdGsNCzVe9Z7VNBzQACBu3Ni5IMc4+hGpZ2l+S31l+6DNaNv8AMDIJnRuUKhGtd4pF0j+4MFVABft7EUJgZI0FV84DEZVDBAMssDnPpADcxxGGLXVJtes9gPU4dU+nRrLd49NcgRGvK3hRhCRkmxKHGJgOFpt2ObCkeD6UfXXejA0fHCByNWRT63XKFHLESnVMRDiWNL08aUIW99MkLl43L0OzHYkhF9p0XwS7GD2/EwAyFwJVa+ctiPUN6JdROGBHhABMz+kZXpF7Cn134ei/lXkNq09eo3s4Pj63zNXvfV70ux8opeITN8XIdD+7vqsgyia1k5HJW5VupApyNGkx4jxPTtY=
  - secure: EKb7U5/vxFnlswlLHqT+L2KB2lr99aWJQydwqLabkLjzUUCYBZDH19SZZs0torUE+UJTvyDGO7wsjvRleYsS/mmKnUa0TE4i9oGo1qwt7sNfRHU42mYuNTNmTPQLOLzay2HWIqCMoTuRbDceFBHx9HGKBddfdb0O+YwGHF5qw38h6hAm5JhXCPARs4lVyQUUrik+73y5NWVegYldT7PSNrcwGZX6irFfw2kmKQrFHkCtiWjvaM1NUe82lBa62Iw3WTdNhAMh4tjTGxZbuQKrx2IcW/fPSeJQUe0FY9+kQlctlimlCbCMvG9gY5EBhEM91fFT+4TW2yHjj+x7HCgiEC6MR+kX8FLBiBoQpKHaMJU/AQBJipvV1/7lI38AJeLkScP40jzuDSNwhX4BM+X/j9aCX4Y0EKzIB9+uGw1/d9vOrdd1ht/fktHxQXCN+BIekRlF99OKFYrybCcU629ChfWbQ0Osgl9etTAqUI8H8wCGetTLSE09Ho51+uGeCbYdp7NV/n+ov1xYMdMNStqQyx9rjzJ8e8HfGdMwP/wVCPhojhlMEYKekG6lA2442cVtH/xfYz8whLjwIyEpIfI+EAN2ku5h6DWkx1RYZBKsRtdpyzmYz2RlNMCMHsXjWhFd2H6xPbXdA5PXg6g3M+91jVWUMokxDsx1QqfWbt3YCAQ=
  - secure: zHkD4Jjt4i1iNio0xW4PBicBXw6i5OC7u8zWdYTyfsbC+B1mnwSv+Dk/irkojxdtWHMYkA/B5TCM522qXeHMhO6Sl7KIrgn+0YJxJjLpMbxIw5fYbw3CZNjw0ExV5UoLDUP832S3AgY2Voqcgoq6RvtHvREWd4D8ok/GKW/B+sjgDyt9PfQBwlvScronYvrkgUYEw7ddeltlA2ZzhMqfLRvQX7tcepW7F5V8WXzvabk7n0D6yjaIIZ7lJAMd7qticaUmNMSoIN0BgYfxdvm/sbT/5MG0rSTpyYC/OX3dGpb16E+ayTnyf5pR0mBk2aUCw6OrgY7aR+z8cqo6t4fkjFVnjZvyffUxyX6fYj4LJuhep2iSwq1PwQwrE/3SsQugojtOrF06Y4cB/WoYsyz7BcWnhr6asBlfAZE2v0gQzbfT5ISvUNUAYbJRkn/fVDAThWGtmdxhEvyzctf9tD2knwiyumbaxLr1lII7V6bigZHLZfywZ92wor7ZFlcwixojG4M6f9kLG8WTsBermD00rjoFJTYINU0eWFqEFCBPCCy4i4IUvQzlFgnUsmzGfFTp6uLLgTGCQsb2ag8zekzr7uAXEGPdD9HWMxm/dj7b6GLIza/AWk0xvwhQdGAia2Y3nzLGtUIC6ZlK9ZyxvoE698yifpvBk/ysitCHEKY6ulk=
  - secure: 3DP43ddEthuY7irFgfQ81vqZO5PzgohkcYtXjBYPow4hprhNiXYcD8k+I3L4SpLIBdjwLWYiHtkWzxizmxOd/0lLCK4zCNCgBlHGZ8V4Q4Prw/HkeCjRGjWs/VpEAK+fE35p7xqb1+ymB2+6yREojXUUxyiBQ7EfZ0jrEkvMch6Eh5Sau1edUN2Kvm838bBXj0jv0Fdj3X8Fjg6EeKLG+h0dmQFSlMSMVFqJ2XYU9Pyfw6f1oml2uQW2SuW8/Vxph4qzZbhNj2J8zAJ0WsYtbyPgVi1GjHhM+BQkj6b90uE5DsopfY5jCs+GKVRL7AY5CkpT6Qc8LNf5m3QqzcHl8SfsBRC+no/hQGj2wvYudjgj0w167BsM0nI+DLDQ5DACuv7f8elWeyfRn1L36TSnSMVrFeCy1N1K3OmuZVZIsjRVFVszYy8UM4j27gmL94ZnIk2AkaHv594aNd2tjOK5Vu6MimzZv6oneQc67eWptbnvmszR8QYbxf0tF7x2pFeoGblQyMfpMu3OlnTEL3amVYl50kf5PkhjT3WTszOGZT+ep58pa6lRzeVfrjM/eK5v29owOl2Kv5BAIeAUUyHDFhTFXLSscJN7q4FIgUi5CZ0R/CvpGKEk3+JEZFPnNQkmDnmwvmX4e4zA5PCr3Z6NT5X46Pn7WXLtnewPlRVNTjk= #PROD_AWS_ACCESS_KEY_ID
  - secure: xtY/YyLfHmKOFj5xfIda6Jj2RT5R0uddYpicb6lFd6kqoix28ZbYdHOpHggvBIts9VX5BEfmbgBb2b4GZ+pAPswa8zyyrzw+6RtKNqeRz0Gl3BEfA2CnMI6QpDMoaC+m2cZeuqcf7dJREN9TkuLPxhTdAitrIx6KkcAlM0EKskEnL9UksuYyVe2RHxUA33XWKcEJZzbV7wQS8ylBiY7RL6c2hNuj2E9h6VT43kkreZf+8N8/wYnsZ5O91vTvDU3gGd5PECvVZknxRm+RrBv+hOw2Bw7kltb3QzLQtYlq+BXzDTVdh3dt3vumhZc8zI8llrK8JVtk8Mw/jE2WtRYnPvh1IlWFjXLoGAdPXPXGOYALZX9AK7Y9Kf0/bH94Ab1uw9NDXxPKlMx3IvtSr5ZobHkhtyLLyp5sY3VIGAkHdrxQKOr6+ZeipwIgBDOKYL5YDO5ORkss7Y+TNvBbx/2T0iwS797LoI0Acy7MpHkeS8zsAmDKZbkuamH4o/8u9cgnbpmPn9GjWQ0KDsjlMYvjh28gvVrG4Xoj0Y5yMwMaiLoTv1J9+PlZ/pz11BlLrtObP1yIPwFgL3u9oI8Ribo6a9dSXM5spUjTWUgk7XDpDMHCzUiVDbyGT5xviH7LYbg2M80HwAAg/j0xH1uXGr9p7q3pTqa+omo5AQ96gKVxDhM= #PROD_AWS_SECRET_ACCESS_KEY
  - secure: H1/pnB3eGplZw27HUL3GZ0VSIjxWPLKzPqYGQipe/ERawco7evKQJu65tuLWznVh3L1mZ5+f7lvAje+rL4uwIj7jHk7GS/oA0Op9S+9p/sLlsrto+YwJn3R21UNrqLQ1r1MEZzxPhg/iTU7hl9YmdqBzneWvzWPdXqa5lUgPZFLuizZmAqGOiIhynJPsBO5i5GyAPNxxWlhX9JWClPrM4xcuzg79PpA22B4cr9Vuwn6M48ICV8zlAUqzTcyGcncLLafVD/a4+qUYIj9RCD1zWCcXHV5+mlDwGiIjy0N2qOwANMsu7UuU7S+xxQqtQSQ0YikzRCcm+wRC77onZ2aY3tob6DiTEyHLXv4SQNDos1N3TCbGxFpr/ygGoUTf1crgBwjVLTZgiI7PLGbBkdU4vVsxWe7x2spdoNQ6SCnDpATukiCvR6AXMwcib4wIeQZkYJcNCD+qxN0evZQalFY0jEXBGsO6MHBdTLz3H3Z1Oyn3jT0+M5mYwGRgkomzXgp41bsLphh9RDitLaVn8Q3Xh7khQuntn35vb9iBCTOA7GCCQoo8rVyp+VmUzQSONTwBDQxAjgdWB2FyKPkJ9HyehE5DzGBVl/JTpl2TlBeehCr1xmJUsuOlUwghj3O/IjctiMPmSzvrleLNx+O5l6p0JURa5t0GsIYtqkD1QsyOIG4= #QA_AWS_ACCESS_KEY_ID
  - secure: A9qD8SNOGxJIh4BLjddUTlh7Q6KkxCBC2Okg+1+4dJx9MLrvuWvt+RqrMg3AY0Q8UHlid4rNm37NmhoYEypqkNTSO2crHjU5O6W48YLQEOksQnEtNR3pfL2ixFCgmcNPEEXYsQIsmrjQMocWfhNUY9hNtTU4D4H/yCDsU7Dfv/rb6JR/8TY9GoO1yYrsuWd5t68C7Qco4X39DoFGxQu70kaKKnP7ZfsT6Cvc2ppWuc734b6JaVQV+GR8F7l3sCBcUS82NOT1cH0PPTI9a/08hKjyfkb+ueRtyBiFvVnm7qWp0fcRDGQuvCx8c0SZfWvMkHnW3xeQM2Pu3QSlFrNCIPMe7ZGPF5rOTnOQVoSVMBMxSf6hbhFSMjUUrnfml2j6icxP4ju32Nne8nbLu2CFCT/dmSm3uJ3HhxE4DP0yBlZT9QGEOY4aGG8yS6i/UxuuACNnClZnNsMeie7p8AlCiaiocd4e/nFvFrCdD81+dn5V/RCPRknBR7OoVaPWbDEFKOPvSlwQqrudo5wM4jfhb9pJTPz5IASYAdXUmFYJQ6nyA1mY1Lv2poo9/SqEz9pZWq0LBAELfepHmLiZKstPzJy5p+Ebmmw88U8p+IvVt0FU6u0w2faf1X8a5u6pvx3BgZ1tAQz2dGfuKHI0vgDrr97jJQEZotd/TuSr62nYr3Y= #QA_AWS_SECRET_ACCESS_KEY
before_script:
- yarn db-create
- yarn db-migrate
- cd client && yarn && cd ..;
script:
- yarn test
- yarn test:frontend
- if [ $TRAVIS_EVENT_TYPE = 'cron' ]; then yarn testcafe; fi;
- |
  if [ $TRAVIS_BRANCH == 'qa' ]; then
    cd client && REACT_APP_ENV=qa yarn build && cd ..;
  else
    cd client && yarn build && cd ..;
  fi
before_deploy:
- mkdir -p ~/.ssh/key
- openssl aes-256-cbc -K $encrypted_42e0c1fefb4c_key -iv $encrypted_42e0c1fefb4c_iv
  -in deploy_rsa.enc -out ~/.ssh/key/efcsydney.pem -d
- eval "$(ssh-agent -s)"
- chmod 400 ~/.ssh/key/efcsydney.pem
- pip install --user awscli
- docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASS"
deploy:
- provider: script
  skip_cleanup: true
  script: BUILD_TAG=$TRAVIS_BUILD_NUMBER\_${TRAVIS_COMMIT:0:7}
    AWS_ACCESS_KEY_ID=$QA_AWS_ACCESS_KEY_ID
    AWS_SECRET_ACCESS_KEY=$QA_AWS_SECRET_ACCESS_KEY
    sh -x docker_deploy.sh qa
  on:
    branch: qa
    condition: $TRAVIS_EVENT_TYPE != cron
- provider: script
  skip_cleanup: true
  script: BUILD_TAG=$TRAVIS_BUILD_NUMBER\_${TRAVIS_COMMIT:0:7}
    AWS_ACCESS_KEY_ID=$PROD_AWS_ACCESS_KEY_ID
    AWS_SECRET_ACCESS_KEY=$PROD_AWS_SECRET_ACCESS_KEY
    sh -x docker_deploy.sh prod
  on:
    branch: master
notifications:
  slack:
    rooms:
      secure: iGVs0vWaQh/7YkhxNUHpffnry6b8xIc9AUP0/4FBb3g5qFmE2VGu6bhfDDI9apRvPtZT+tCcIcOYSe2eWI/ELZ17/3HnB02R1crifPiLU7ZETo1WwVrIqGetAGHqBJYZvSZELvVJtZMc2phoehAh8pCYScf1alvH7GmeQLW7a2Knr/kiV0WkIYjGhE8xG7sBakkCUx6V3tF0O9+6VJvEUWVKB/dEUvxMPc3Qte+9F9Mj5Tf9OEHmcWNSGaPK+xvXxqrfM/cLJQCUAajHUV0OA4A6o8W9yCRZevLaBBV+/cV6uBX+UnviwzaRZGjqlmTSlvdnaFEIN3g6W+1W3ig3BJka6ujHFwqxLa0jmFRnXGZpiaQqyeDqLcuua6OdXNtCUaVc0gigfXlNTlmZXpsbMJbuzSecK8kGk0izCWg/UYeeYmWy2SY2lpCgt5BoJbskB/7WtszQhO5+GEW9fh3sLVQsrzpoY95n8qXgUzx9ucmwhhEQKAOJyjWDpXPSMJugaEbWC0KLdgFjxOqSDXZf/++m6eD+I/kowpwkXDi1mWncNupbgUpocndmClQfGCcasZP9PIX9Fg81U+5/sWNy/gtK9Hoi6jqUFE+REBXohPAjwUIKVwrfxjm+PqAWkegmmCqyT2JDeXYIxLtnqFRY7lRWc/OpU059l0S0AsNKu14=