language: node_js node_js: - '8' sudo: required group: deprecated-2017Q4 cache: directories: - /home/travis/virtualenv/python2.7/lib/python2.7/site-packages - node_modules notifications: slack: secure: ezESiG7JnuSLZc2/PPhOvWUv5BHBCr+g86MsuLLw+S+zz3DUfzWHMQ1g5tUvkeSDTPmfEIX41EnPkaoWtsD3OGO0PGXgseAfA8+6Z4N1rICNZZrhXZB2s6UdwRK1e+0Jol4W3kHmt96BHyN2scLNgJYeWMgSJllVsuPhMTlKBZIXI9u540NH8Nxjl3f2WvoIg64Q1mZvMxkpPbw4xssx6U4HSFE8kTTE6+EFsSxzombFX0cLGjPiJ9QZgGVUk4UkIjyiFLQQDfQlLllCaUpqJ9+qbuCNoMSKA2yty/qyZ8Y+r4OlMberjmBzR9GRLLyXWWcaAfMIgwlRhjtLYIDAUSsGM1iwUWCgyB9maG2IiXuYLSueuMx8DcDwbpUepoDgnqBYnM2AJmT8gcsxqlKYzJpYpHDgZgBlLZQgMXqjrVJHs/Tf9XVcLS6HAn1Ww0OOT01jThfy4gClpAuqLayYexsXOoL+RaFg25E2NzuTtaFWgRfWZgcAeqYNDiUzwun2D4vZ5I+NtdRP0gzpbG2fxhFz05vAqyf1Kp6ZYb17Li3A38dIm6Lsvv3qawAIAgNaZpIZX3f89+uq6jHU8kJy1Iv823JK2Xac3vEz3SHUKJnuXFF0LO07om9AcNEXhP/JrJ617S8nfvDtZRJODMFhz8qQwie+65Ql1I871goBpVs= env: global: - CXX=g++-4.8 - API_HOST_master=https://api.scratch.mit.edu - API_HOST_STAGING=https://api.scratch.ly - API_HOST_VAR=API_HOST_$TRAVIS_BRANCH - API_HOST=${!API_HOST_VAR} - API_HOST=${API_HOST:-$API_HOST_STAGING} - ASSET_HOST_master=https://assets.scratch.mit.edu - ASSET_HOST_STAGING=https://assets.scratch.ly - ASSET_HOST_VAR=ASSET_HOST_$TRAVIS_BRANCH - ASSET_HOST=${!ASSET_HOST_VAR} - ASSET_HOST=${ASSET_HOST:-$ASSET_HOST_STAGING} - BACKPACK_HOST_master=https://backpack.scratch.mit.edu - BACKPACK_HOST_STAGING=https://backpack.scratch.ly - BACKPACK_HOST_VAR=BACKPACK_HOST_$TRAVIS_BRANCH - BACKPACK_HOST=${!BACKPACK_HOST_VAR} - BACKPACK_HOST=${BACKPACK_HOST:-$BACKPACK_HOST_STAGING} - CLOUDDATA_HOST_master=clouddata.scratch.mit.edu - CLOUDDATA_HOST_STAGING=varserver2.scratch.ly - CLOUDDATA_HOST_VAR=CLOUDDATA_HOST_$TRAVIS_BRANCH - CLOUDDATA_HOST=${!CLOUDDATA_HOST_VAR} - CLOUDDATA_HOST=${CLOUDDATA_HOST:-$CLOUDDATA_HOST_STAGING} - RECAPTCHA_SITE_KEY_master=6LeRbUwUAAAAAFYhKgk3G9OKWqE_OJ7Z-7VTUCbl - RECAPTCHA_SITE_KEY_STAGING=6LfukK4UAAAAAFR44yoZMhv8fj6xh-PMiIxwryG3 - RECAPTCHA_SITE_KEY_VAR=RECAPTCHA_SITE_KEY_$TRAVIS_BRANCH - RECAPTCHA_SITE_KEY=${!RECAPTCHA_SITE_KEY_VAR} - RECAPTCHA_SITE_KEY=${RECAPTCHA_SITE_KEY:-$RECAPTCHA_SITE_KEY_STAGING} - ROOT_URL_master=https://scratch.mit.edu - ROOT_URL_STAGING=https://scratch.ly - ROOT_URL_VAR=ROOT_URL_$TRAVIS_BRANCH - ROOT_URL=${!ROOT_URL_VAR} - ROOT_URL=${ROOT_URL:-$ROOT_URL_STAGING} - PROJECT_HOST_master=https://projects.scratch.mit.edu - PROJECT_HOST_STAGING=https://projects.scratch.ly - PROJECT_HOST_VAR=PROJECT_HOST_$TRAVIS_BRANCH - PROJECT_HOST=${!PROJECT_HOST_VAR} - PROJECT_HOST=${PROJECT_HOST:-$PROJECT_HOST_STAGING} - STATIC_HOST_master=https://cdn2.scratch.mit.edu - STATIC_HOST_STAGING=https://cdn.scratch.ly - STATIC_HOST_VAR=STATIC_HOST_$TRAVIS_BRANCH - STATIC_HOST=${!STATIC_HOST_VAR} - STATIC_HOST=${STATIC_HOST:-$STATIC_HOST_STAGING} - PATH=$PATH:$PWD/test/integration/node_modules/chromedriver/bin - AWS_ACCESS_KEY_ID=$EB_AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY=$EB_AWS_SECRET_ACCESS_KEY - FASTLY_ACTIVATE_CHANGES=true # FASTLY_API_KEY - secure: XNWcCnqSAd4MpKg6FVe3WeFmdqfdH753+PBCOEkJrHS+AHmLMuWsjIQFJ3LUR9ylEQRVPR2OyXJW/R8NI9toStREgwE4fwIVo0l4fwYqLStxYpEKlcWfkJ3uNpRZhvcVmUBycelrnjJqXVdrtlxPCKX0tNkpcKH2b98We7A2/r7HxKv13upDxWTQ/qRUv0+SJCRTB4n/QInABi87Ef8Q2rNGrL0WQzQvVBeiEXOP0JSkyYK4+q65gswMKPehgiFagnYVgJN9J9Q1VrBDc06gidbznBcEpPaBAYvsTTY9dWTJxaaKNSrmOIe/OiuJUEHjb+8NL+j6Lp7wX8lzEjbr0FkVlFnxS9VbftS2KFkN7+c3RF57+tsq0xwJ6vgomIVS5FupHgl/oCJicnH/FLfynditOLZhmhF+Ed5GCAoIEamRRzcVHdjvglsEtYsDX1/z2t+HKYtPQuXYOywDRVTSPf88eEbu8ehfgNcYaIAuD6eedyDnKTOIv7owWs3Y7GsxQ2jBLGXq1YoUEkPtB0vfaHi72CeEhDQ53mEn2Ure47UMGMgUjKtiIhDBNTbECwP/ZDJv1accGRljKjDy93aCJeRi1T7Op7tDbHSl4ScieeOwOeKJMcD1U5JGdA/sRnjjgSKb24P2ys4NYr95dgqWNNGPGMxca+lGufzdEaTQT44= # FASTLY_SERVICE_ID_master - secure: l5jwRVj4rj7qT6iuRinVqBBOie3OwBgXDPFER15JLLj5H5HZn0iGtdyuAhjvNWp6+Q/gGU6GAJEBCx63oFESBklyKUbZEAFqVI8f8g+d9toce+rlnMLcbw5A4jfgyqxJS9IYu57v291AGO78x7+HhUxbf9XLjhl1N18sIIDcMUXQir1zjnOkyBm3M4In2pi7PLdkpYwaWDxyjR9+Jy5BE9bl68BRSoqRGidFpoWHeZM4zrXzY49gSUsHNL6UnmYwCdEOGEclSn9cAhTE2O+z24Du3Kp35JfBnI8kHFfBn/u5auiHPzuwC4QvovjrxBNX9bvjBKVOPhgaq0kw3cKxftEeMAlHciancaXnCWFGSSQ7Cw7isvbYAJsy9gbNtJoNn90KlSPLUQ8pRcPU7pcfCabBxGYFda4736dWjq++SxiCyMgmxU9Q5LqOQWNvGsLREAKp4SOg0nkv2mrebAvL3Ta/nfI1Fb5mDtxsHJldttMYQgElV5OsXncZBY5pZG5KdbffnaxS40oRT58xdMQPLx/RUK/ZLkq+3lJM7Pb/ZuSJr7WBTu54VsWrPGr53Td1kZgONH1ksAepJxCij/X4f56aiQbRm144r9ERSJZBZ8qn8GG7N3Mad+ZJkPS9Bs4DIDgJyxMm7kIhUhPfHzydsb93ns1bPI6l+S+dx2JIKHc= # FASTLY_SERVICE_ID_STAGING - secure: MyT0xGN75v1bVnP1fpKaenx2WijGi2OZCQV5TDeDkgqlkW9n2HOtGa4bWE+cT+hR8UieC176sGg7OvsUCy0nYm5QhR8WJc+8WGa689GsPDUMgw+hUKfk/JYeHQHNKTwAyY6iN6Jo2qQtcBMS/M8xakwYaktB0vcNNId13Fhj7IMUTUEdpSWQLTkaXGB7cHM0ak9KqivH2aqzoncJnhcRNrqVz3FaLKmqAXI8NpQcgz5uAxkBjmniIHWkJPWRvLqr3xRebDaXiMFI7pB+iTSlbzR2lqsZLzZpSBJbqKhPx99KvnHjlSq7LAjP840X5Vj5ZCPlSrZe4IIYp2g863j5nOUHj1MC1Eh6xD3bjmZ+61KaWchSWMp+XOs9grghl9kLexfwZbCNxW0s8uq+WqOY/qcbzm/go5z7WFlDJ1Qmdo2sLhdtwCwcSwyCR8nhoaHqJtKg9PJTyKbr+SWizDVlSyWRccqyJ1jd/vjd1xAG5RRM6YuP4RBqEAWGzOsx+kJMhnOOI3yIZfY7eTntMxb9Gxjyk4IsBX3pyPHJSWeb7x4bzMGCHSewMmdTzcFHvSmRaZ2w50PSqPSagR42mYJqAfaS1/eMSf2oI5kE9RmiQYP4SrLerdYFbYEt0w8/+Hu8glRqpJtMSB42yWanMIvMBahSQH9dun3TzFQKKEljwzA= - FASTLY_SERVICE_ID_VAR=FASTLY_SERVICE_ID_$TRAVIS_BRANCH - FASTLY_SERVICE_ID=${!FASTLY_SERVICE_ID_VAR} - FASTLY_SERVICE_ID=${FASTLY_SERVICE_ID:-$FASTLY_SERVICE_ID_STAGING} - GA_TRACKER_master=UA-30688952-1 - GA_TRACKER_STAGING=UA-30688952-7 - GA_TRACKER_VAR=GA_TRACKER_$TRAVIS_BRANCH - GA_TRACKER=${!GA_TRACKER_VAR} - GA_TRACKER=${GA_TRACKER:-$GA_TRACKER_STAGING} - SCRATCH_ENV_master=production - SCRATCH_ENV_STAGING=staging - SCRATCH_ENV_VAR=SCRATCH_ENV_$TRAVIS_BRANCH - SCRATCH_ENV=${!SCRATCH_ENV_VAR} - SCRATCH_ENV=${SCRATCH_ENV:-$SCRATCH_ENV_STAGING} - S3_BUCKET_NAME_master=scratch-www-production - S3_BUCKET_NAME_STAGING=scratch-www-staging - S3_BUCKET_NAME_VAR=S3_BUCKET_NAME_$TRAVIS_BRANCH - S3_BUCKET_NAME=${!S3_BUCKET_NAME_VAR} - S3_BUCKET_NAME=${S3_BUCKET_NAME:-$S3_BUCKET_NAME_STAGING} - S3_LOCAL_DIR=build - SENTRY_DSN_master=https://ebc2f8a6bc7b44ca8fd902fd4f16b3d7@sentry.io/1357122 - SENTRY_DSN_STAGING=https://c01014988b0a4f44bbefdf235623c456@sentry.io/1357982 - SENTRY_DSN_VAR=SENTRY_DSN_$TRAVIS_BRANCH - SENTRY_DSN=${!SENTRY_DSN_VAR} - SENTRY_DSN=${SENTRY_DSN:-$SENTRY_DSN_STAGING} - SENTRY_ORG=scratch-foundation - SENTRY_PROJECT_master=scratch-30-production - SENTRY_PROJECT_STAGING=scratch-30-staging - SENTRY_PROJECT_VAR=SENTRY_PROJECT_$TRAVIS_BRANCH - SENTRY_PROJECT=${!SENTRY_PROJECT_VAR} - SENTRY_PROJECT=${SENTRY_PROJECT:-$SENTRY_PROJECT_STAGING} - SKIP_CLEANUP=true - NODE_ENV=production - WWW_VERSION=${TRAVIS_COMMIT:0:5} addons: chrome: stable apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.8 before_install: # package-lock.json was introduced in npm@5 - '[[ $(node -v) =~ ^v9.*$ ]] || npm install -g npm@latest' # skipped when using node 9 - npm install -g greenkeeper-lockfile install: - sudo -H pip install -r requirements.txt - npm --production=false install - npm --production=false update before_script: greenkeeper-lockfile-update after_script: greenkeeper-lockfile-upload jobs: include: - stage: test deploy: - provider: script skip_cleanup: $SKIP_CLEANUP script: npm run deploy on: repo: LLK/scratch-www branch: - develop - hotfix/* - release/* - provider: script skip_cleanup: $SKIP_CLEANUP script: npm run deploy on: repo: LLK/scratch-www branch: - master - stage: smoke script: npm run test:integration:remote - stage: update translations script: npm run i18n:push stages: - name: test if: type != cron - name: smoke if: type NOT IN (cron, pull_request) - name: update translations if: branch == develop AND type == cron