You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-wallet/.gitlab-ci.yml

166 lines
3.9 KiB

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