1
0
mirror of https://github.com/trezor/trezor-wallet synced 2024-11-14 12:29:31 +00:00
trezor-wallet/.gitlab-ci.yml
Vladimir Volek 6be6f6c1d8 migrate ci
2019-08-20 14:51:43 +02:00

158 lines
3.2 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}
install and build:
stage: install
script:
- yarn install
artifacts:
expire_in: 2 hours
when: always
paths:
- node_modules
stages:
- install
- test
- build
- deploy
- integration tests
lint:
stage: test
script:
- yarn run lint
flow:
stage: test
script:
- yarn run flow
unit:
stage: test
script:
- yarn run test
build development:
stage: build
script:
- yarn run build:dev
artifacts:
expire_in: 1 week
paths:
- build/dev
build beta:
stage: build
script:
- yarn run build:beta
only:
- beta
artifacts:
expire_in: 1 week
paths:
- build/beta
- scripts/s3sync.sh
build stable:
stage: build
script:
- 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
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