Yield generated for 2bc48055-da8f-4b3b-9a25-835f875fd087
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

84 lines
1.8 KiB

executors:
node:
docker:
- image: circleci/node:10.14.2
aliases:
restore_cache: &restore_cache
restore_cache:
keys:
- yarn-cache-netlify-{{ checksum "yarn.lock" }}
install_node_modules: &install_node_modules
run:
command: yarn install
check_formatting: &check_formatting
run:
command: yarn add --dev --exact prettier && yarn format:write && yarn format:check
save_cache: &save_cache
save_cache:
key: yarn-cache-netlify-{{ checksum "yarn.lock" }}
paths:
- ./node_modules
version: 2.1
orbs:
node: circleci/node@3.0.0
jobs:
test:
executor: node
steps:
- checkout
- <<: *restore_cache
- <<: *install_node_modules
- <<: *save_cache
- run:
name: Test
command: yarn run test
build:
executor: node
steps:
- checkout
- <<: *check_formatting
- <<: *restore_cache
- <<: *install_node_modules
- run:
name: Build
command: yarn run build
- persist_to_workspace:
root: ./
paths:
- public
deploy:
executor: node
steps:
- checkout
- attach_workspace:
at: ./
- <<: *restore_cache
- <<: *install_node_modules
- run:
name: Install netlify-cli
command: sudo yarn install -g --silent netlify-cli
- run:
name: Deploy to Netlify
command: netlify deploy --dir=./public -p
workflows:
test_build_and_deploy:
jobs:
- test:
filters:
branches:
ignore:
- gh-pages
- build:
requires:
- test
- deploy:
requires:
- build
filters:
branches:
only: main