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.
95 lines
2.2 KiB
YAML
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
|