12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- version: 2.1
- orbs:
- node: circleci/node@1.1.6
- cypress: cypress-io/cypress@1.25.0
- jobs:
- lint-and-build:
- executor:
- name: node/default
- environment:
- NETLIFY_SITE_ID: airboardgame.netlify.app
- REACT_APP_SOCKET_URL: https://public.jeremiez.net/
- REACT_APP_SOCKET_PATH: /wamp2/socket.io
- REACT_APP_GAMELIST_URL: https://airgames.netlify.app/gameList.json
- REACT_APP_API_ENDPOINT: https://public.jeremiez.net/ricochet
- CYPRESS_INSTALL_BINARY: 0
- steps:
- - checkout
- - node/with-cache:
- steps:
- - run: node --version
- - run: npm install
- - run: npm run lint
- - run: cd backend && npm install && npm run build
- - run: npm run build
- - run:
- name: Netlify Deploy
- command: npx netlify deploy --dir=./build --site $NETLIFY_SITE_ID --auth $NETLIFY_ACCESS_TOKEN
- build-deploy:
- executor:
- name: node/default
- environment:
- NETLIFY_SITE_ID: airboardgame.netlify.app
- REACT_APP_SOCKET_URL: https://public.jeremiez.net/
- REACT_APP_SOCKET_PATH: /wamp2/socket.io
- REACT_APP_GAMELIST_URL: https://airgames.netlify.app/gameList.json
- REACT_APP_API_ENDPOINT: https://public.jeremiez.net/ricochet
- steps:
- - checkout
- - node/with-cache:
- steps:
- - run: npm install
- - run: npm run lint
- - run: cd backend && npm install && npm run build
- - run: npm run build
- - run:
- name: Netlify Deploy
- command: npx netlify deploy --site $NETLIFY_SITE_ID --auth $NETLIFY_ACCESS_TOKEN --dir=build --prod
- workflows:
- e2etest:
- jobs:
- - cypress/run:
- start: REACT_APP_NO_WELCOME=1 REACT_APP_SOCKET_URL=https://public.jeremiez.net/ REACT_APP_SOCKET_PATH=/wamp2/socket.io REACT_APP_API_ENDPOINT=https://public.jeremiez.net/ricochet CI=true npm start
- wait-on: "http-get://localhost:3000"
- no-workspace: true
- store_artifacts: true
- build-and-test:
- jobs:
- - lint-and-build:
- filters:
- branches:
- ignore:
- - master
- - build-deploy:
- filters:
- branches:
- only:
- - master
|