diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3338b660..a26fa9f8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,148 +1,148 @@ image: node:9.3.0 -# variables: -# CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress" +variables: + CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress" -# cache: -# key: ${CI_COMMIT_REF_SLUG} -# paths: -# - node_modules -# - cache/Cypress +cache: + key: ${CI_COMMIT_REF_SLUG} + paths: + - node_modules + - cache/Cypress stages: - # - test - # - build - # - deploy + - test + - build + - deploy - integration tests -# lint: -# stage: test -# script: -# - yarn install -# - yarn run lint +lint: + stage: test + script: + - yarn install + - yarn run lint -# flow: -# stage: test -# script: -# - yarn install -# - yarn run flow +flow: + stage: test + script: + - yarn install + - yarn run flow -# unit: -# stage: test -# script: -# - yarn install -# - yarn run test +unit: + stage: test + script: + - yarn install + - yarn run test -# build development: -# stage: build -# script: -# - yarn install -# - yarn run build:dev -# artifacts: -# expire_in: 1 week -# paths: -# - build/dev +build development: + stage: build + script: + - yarn install + - yarn run build:dev + artifacts: + expire_in: 1 week + paths: + - build/dev -# build beta: -# stage: build -# script: -# - yarn install -# - yarn run build:beta -# only: -# - beta -# artifacts: -# expire_in: 1 week -# paths: -# - build/beta -# - scripts/s3sync.sh +build beta: + stage: build + script: + - yarn install + - yarn run build:beta + only: + - beta + artifacts: + expire_in: 1 week + paths: + - build/beta + - scripts/s3sync.sh -# build stable: -# stage: build -# script: -# - yarn install -# - yarn run build:stable -# only: -# - stable -# artifacts: -# expire_in: 1 week -# paths: -# - build/stable -# - scripts/s3sync.sh +build stable: + stage: build + script: + - yarn install + - yarn run build:stable + only: + - stable + artifacts: + expire_in: 1 week + paths: + - build/stable + - scripts/s3sync.sh -# deploy review: -# stage: deploy -# variables: -# GIT_STRATEGY: none -# dependencies: -# - build development -# environment: -# name: $CI_BUILD_REF_NAME -# url: $BASE_REVIEW_URL/$CI_BUILD_REF_NAME -# on_stop: delete review -# script: -# - echo "Deploy a review app" -# - '[ -z "${DEPLOY_BASE_DIR}" ] && echo "Deploy base dir cannot be empty" && exit 255' -# - env -# - mkdir -p "${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}" -# - echo "Copy dev build to web server ${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}..." -# - rsync --delete -va build/dev/ "${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}/" -# - curl "https://api.telegram.org/bot699197118:AAGXNTaC5Q-ljmy_dMvaIvAKy1XjlkA3Iss/sendMessage?chat_id=-1001354778014&text=https://trezor-wallet-dev.trezor.io/${CI_BUILD_REF_NAME}" -# - 'echo "Remove working dir, workaround for cache" && rm -r ./*' -# only: -# - branches -# tags: -# - deploy +deploy review: + stage: deploy + variables: + GIT_STRATEGY: none + dependencies: + - build development + environment: + name: $CI_BUILD_REF_NAME + url: $BASE_REVIEW_URL/$CI_BUILD_REF_NAME + on_stop: delete review + script: + - echo "Deploy a review app" + - '[ -z "${DEPLOY_BASE_DIR}" ] && echo "Deploy base dir cannot be empty" && exit 255' + - env + - mkdir -p "${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}" + - echo "Copy dev build to web server ${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}..." + - rsync --delete -va build/dev/ "${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}/" + - curl "https://api.telegram.org/bot699197118:AAGXNTaC5Q-ljmy_dMvaIvAKy1XjlkA3Iss/sendMessage?chat_id=-1001354778014&text=https://trezor-wallet-dev.trezor.io/${CI_BUILD_REF_NAME}" + - 'echo "Remove working dir, workaround for cache" && rm -r ./*' + only: + - branches + tags: + - deploy -# deploy stage beta: -# stage: deploy -# variables: -# GIT_STRATEGY: none -# AWS_ACCESS_KEY_ID: $STAGE_AWS_ACCESS_KEY_ID -# AWS_SECRET_ACCESS_KEY: $STAGE_AWS_SECRET_ACCESS_KEY -# when: manual -# dependencies: -# - build beta -# script: -# - scripts/s3sync.sh stage beta -# only: -# - beta -# tags: -# - deploy +deploy stage beta: + stage: deploy + variables: + GIT_STRATEGY: none + AWS_ACCESS_KEY_ID: $STAGE_AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY: $STAGE_AWS_SECRET_ACCESS_KEY + when: manual + dependencies: + - build beta + script: + - scripts/s3sync.sh stage beta + only: + - beta + tags: + - deploy -# deploy stage stable: -# stage: deploy -# variables: -# GIT_STRATEGY: none -# AWS_ACCESS_KEY_ID: $STAGE_AWS_ACCESS_KEY_ID -# AWS_SECRET_ACCESS_KEY: $STAGE_AWS_SECRET_ACCESS_KEY -# when: manual -# dependencies: -# - build stable -# script: -# - scripts/s3sync.sh stage stable -# only: -# - stable -# tags: -# - deploy +deploy stage stable: + stage: deploy + variables: + GIT_STRATEGY: none + AWS_ACCESS_KEY_ID: $STAGE_AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY: $STAGE_AWS_SECRET_ACCESS_KEY + when: manual + dependencies: + - build stable + script: + - scripts/s3sync.sh stage stable + only: + - stable + tags: + - deploy -# delete review: -# before_script: [] -# stage: deploy -# variables: -# GIT_STRATEGY: none -# when: manual -# environment: -# name: $CI_BUILD_REF_NAME -# action: stop -# script: -# - '[ -z "${DEPLOY_BASE_DIR}" ] && echo "Deploy dir can not be empty" && exit 1' -# - '[ -z "${CI_BUILD_REF_NAME}" ] && echo "Build name can not be empty" && exit 1' -# - '[ ! -d "${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}" ] && echo "Folder can not be found, skipping..." && exit 0' -# - 'rm -r "${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}"' -# only: -# - branches -# tags: -# - deploy +delete review: + before_script: [] + stage: deploy + variables: + GIT_STRATEGY: none + when: manual + environment: + name: $CI_BUILD_REF_NAME + action: stop + script: + - '[ -z "${DEPLOY_BASE_DIR}" ] && echo "Deploy dir can not be empty" && exit 1' + - '[ -z "${CI_BUILD_REF_NAME}" ] && echo "Build name can not be empty" && exit 1' + - '[ ! -d "${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}" ] && echo "Folder can not be found, skipping..." && exit 0' + - 'rm -r "${DEPLOY_BASE_DIR}/${CI_BUILD_REF_NAME}"' + only: + - branches + tags: + - deploy integration tests: image: docker:latest