1
0
mirror of https://github.com/trezor/trezor-wallet synced 2024-11-13 03:48:59 +00:00
trezor-wallet/.gitlab-ci.yml
2019-04-25 16:30:57 +02:00

191 lines
4.5 KiB
YAML

image: node:10.15.1
variables:
CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress"
before_script:
- "apt-get update"
- "apt-get install -y build-essential"
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
# build emulator and bridge image:
# variables:
# CONTAINER_NAME: "$CI_REGISTRY/emulator-bridge-tests"
# image: docker:latest
# services:
# - docker:dind
# before_script:
# - docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
# stage: build
# when: manual
# script:
# - docker pull $CONTAINER_NAME:latest || true
# - docker build --cache-from $CONTAINER_NAME:latest --tag $CONTAINER_NAME:$CI_COMMIT_SHA --tag $CONTAINER_NAME:latest .
# - docker push $CONTAINER_NAME:$CI_COMMIT_SHA
# - docker push $CONTAINER_NAME:latest
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
before_script: []
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
before_script: []
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
before_script: []
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
before_script: []
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:
# - 'export SHARED_PATH="$(dirname ${CI_PROJECT_DIR})/shared"'
# - rm -r ${SHARED_PATH} || true
# - docker build -f Dockerfile.test -t wallet-emulator-bridge-tests .
# - 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
# - find ${SHARED_PATH}
# - mkdir trezor-wallet
# - cp -r ${SHARED_PATH}/ trezor-wallet/
# artifacts:
# when: always
# expire_in: 1 week
# paths:
# - trezor-wallet/