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