version: 2.1 orbs: browser-tools: circleci/browser-tools@1.2.4 node: circleci/node@5.0.2 commitlint: conventional-changelog/commitlint@1.0.0 aliases: - &defaults docker: - image: cimg/node:16.18.1-browsers auth: username: $DOCKERHUB_USERNAME password: $DOCKERHUB_PASSWORD working_directory: ~/repo environment: NODE_ENV: production - &setup node/install-packages: override-ci-command: npm --production=false ci - &lint run: name: "run lint tests" command: npm run lint -- --format junit -o ./test/results/lint-results.xml - &unit run: name: "run unit tests" command: JEST_JUNIT_OUTPUT_NAME=unit-jest-results.xml npm run unit -- --reporters=jest-junit - &build run: name: "run npm build" command: | NODE_ENV=production npm run build - &deploy-gh-pages run: name: "deploy to gh pages" command: | git config --global user.email $(git log --pretty=format:"%ae" -n1) git config --global user.name $(git log --pretty=format:"%an" -n1) npm run deploy -- -e $CIRCLE_BRANCH jobs: build-test: <<: *defaults steps: - checkout - *setup - *lint - *unit - *build - store_test_results: path: test/results - run: npx --no -- semantic-release --dry-run build-test-deploy: <<: *defaults steps: - checkout - *setup - *lint - *unit - *build - store_test_results: path: test/results - *deploy-gh-pages - run: npx --no -- semantic-release push-translations: <<: *defaults steps: - checkout - *setup - run: name: "run i18n script" command: | npm run i18n:src npm run i18n:push workflows: commitlint: jobs: - commitlint/lint: target-branch: develop filters: branches: ignore: - master - develop - beta - /^hotfix\/.*/ build-test-no-deploy: jobs: - build-test: context: - dockerhub-credentials filters: branches: ignore: - master - develop - beta - /^hotfix\/.*/ - gh-pages build-test-deploy: jobs: - build-test-deploy: context: - dockerhub-credentials - scratch-npm-creds filters: branches: only: - master - develop - beta - /^hotfix\/.*/ push-translations: triggers: - schedule: cron: 0 0 * * * # daily at 12 UTC, 8 ET filters: branches: only: - develop jobs: - push-translations: context: - dockerhub-credentials