You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mercury-parser/.circleci/config.yml

95 lines
2.2 KiB
YAML

version: 2
defaults: &defaults
working_directory: ~/project
docker:
- image: circleci/node:12.8.1-browsers
jobs:
test-node:
<<: *defaults
steps:
- checkout
- run: 'yarn install'
- run: 'yarn lint:ci'
- run: 'yarn build:ci'
- run: 'yarn test:node --maxWorkers=4'
- run:
name: Parser Preview
command: ./scripts/pr-parser-preview.sh
when: always
- store_artifacts:
path: tmp/artifacts
- persist_to_workspace:
root: ~/project
paths: .
test-web:
<<: *defaults
steps:
- attach_workspace:
at: ~/project
- checkout
- run: 'yarn install'
- run: 'yarn test:web --maxWorkers=4'
- run: 'yarn build:web:ci --maxWorkers=4'
deploy:
<<: *defaults
steps:
- attach_workspace:
at: ~/project
- run:
name: Authenticate with registry
command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/project/.npmrc
- run:
name: Publish package
command: npm publish --access public
update-fixtures:
docker:
- image: circleci/node:12.8.1
steps:
- checkout
- run: 'yarn install'
- run: 'node ./scripts/update-fixtures.js'
workflows:
version: 2
build_and_test:
jobs:
- test-node:
filters: # required since `deploy` has tag filters AND requires `test-node`
branches:
only: /.*/
tags:
only: /.*/
- test-web:
filters: # required since `deploy` has tag filters AND requires `test-web`
branches:
only: /.*/
tags:
only: /.*/
- deploy:
requires:
- test-node
- test-web
filters:
tags:
only: /^v.*/
branches:
ignore: /.*/
# UNCOMMENT WHEN READY TO AUTOMATE THIS TASK
# scheduled_tasks:
# triggers:
# # run once per hour
# - schedule:
# cron: "0 * * * *"
# filters:
# branches:
# only:
# - master
# jobs:
# - update-fixtures