send/.circleci/config.yml
2020-04-29 17:38:55 -07:00

99 lines
2.3 KiB
YAML

version: 2.0
jobs:
test:
docker:
- image: circleci/node:12-browsers
steps:
- checkout
- run: npm ci
- run: npm run lint
- run: npm test
- store_artifacts:
path: coverage
integration_tests:
docker:
- image: circleci/node:12-browsers
steps:
- checkout
- run: npm ci
- run:
name: Run integration test
command: ./scripts/bin/run-integration-test-circleci.sh
deploy_dev:
docker:
- image: circleci/node:12
steps:
- checkout
- setup_remote_docker
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:latest .
- run: docker push mozilla/send:latest
deploy_vnext:
docker:
- image: circleci/node:12
steps:
- checkout
- setup_remote_docker
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:vnext .
- run: docker push mozilla/send:vnext
deploy_stage:
docker:
- image: circleci/node:12
steps:
- checkout
- setup_remote_docker
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:$CIRCLE_TAG .
- run: docker push mozilla/send:$CIRCLE_TAG
workflows:
version: 2
test_pr:
jobs:
- test:
filters:
branches:
ignore:
- master
- vnext
- integration_tests:
filters:
branches:
ignore: master
build_and_deploy_dev:
jobs:
- deploy_dev:
filters:
branches:
only: master
tags:
ignore: /^v.*/
- deploy_vnext:
filters:
branches:
only: vnext
tags:
ignore: /^v.*/
build_and_deploy_stage:
jobs:
- test:
filters:
branches:
ignore: /.*/
tags:
only: /^v.*/
- integration_tests:
filters:
branches:
ignore: /.*/
tags:
only: /^v.*/
- deploy_stage:
requires:
- test
- integration_tests
filters:
branches:
ignore: /.*/
tags:
only: /^v.*/