image: node:9.3 variables: CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress" cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules - ${CYPRESS_CACHE_FOLDER} stages: - test - build - deploy - integration tests # lint: # stage: test # script: # - yarn install # - yarn run lint # flow: # stage: test # script: # - yarn install # - yarn run flow # 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 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 # 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 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 integration tests: image: docker:latest services: - docker:dind stage: integration tests script: - docker build -t wallet-emulator-bridge-tests . - 'export SHARED_PATH="$(dirname ${CI_PROJECT_DIR})/shared"' - mkdir -p ${SHARED_PATH}/trezor-wallet/screenshots - mkdir -p ${SHARED_PATH}/trezor-wallet/videos - docker run --volume ${SHARED_PATH}/trezor-wallet/screenshots:/trezor-wallet/test/screenshots --volume ${SHARED_PATH}/trezor-wallet/videos:/trezor-wallet/test/videos --rm wallet-emulator-bridge-tests || true - ls / - find ${SHARED_PATH} - mkdir trezor-wallet - cp -r ${SHARED_PATH}/ trezor-wallet/ artifacts: when: always expire_in: 1 week paths: - trezor-wallet