# Javascript Node CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-javascript/ for more details # aliases: - &install_yarn_version name: Install specific Yarn version command: | curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.16.0 echo 'export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"' >> $BASH_ENV - &restore_yarn_cache name: Restore Yarn cache keys: - yarn-{{ .Branch }}-packages-{{ checksum "yarn.lock" }} - &save_yarn_cache name: Save Yarn cache key: yarn-{{ .Branch }}-packages-{{ checksum "yarn.lock" }} paths: - ~/.cache/yarn - &run_yarn_install name: Install dependencies command: yarn install defaults: &defaults working_directory: ~/repo docker: - image: cimg/node:12.18.0 version: 2 jobs: test: <<: *defaults steps: - checkout - run: *install_yarn_version - restore_cache: *restore_yarn_cache - run: *run_yarn_install - save_cache: *save_yarn_cache - run: name: Lint command: yarn lint - run: name: Unit Tests command: yarn test:ci prepare_release: <<: *defaults steps: - checkout - run: *install_yarn_version - restore_cache: *restore_yarn_cache - run: *run_yarn_install - save_cache: *save_yarn_cache - run: name: Prepare release command: | git config --global user.email "instantsearch-bot@algolia.com" git config --global user.name "Algolia" yarn run release --yes --no-browse shipjs_trigger: <<: *defaults steps: - checkout - run: *install_yarn_version - restore_cache: *restore_yarn_cache - run: *run_yarn_install - save_cache: *save_yarn_cache - run: name: Triggering Ship.js to Release command: | git config --global user.email "instantsearch-bot@algolia.com" git config --global user.name "Algolia" yarn shipjs trigger gh_pages: <<: *defaults steps: - checkout - run: *install_yarn_version - restore_cache: *restore_yarn_cache - run: *run_yarn_install - save_cache: *save_yarn_cache - run: name: Release website to gh-pages command: | git config --global user.email "instantsearch-bot@algolia.com" git config --global user.name "Algolia" yarn workspace website deploy:gh workflows: version: 2 ci: jobs: - test - shipjs_trigger: context: fx-libraries requires: - test filters: branches: only: - main gh_pages: jobs: - gh_pages: context: fx-libraries filters: branches: only: - main prepare_release_every_tuesday: triggers: - schedule: cron: "0 9 * * 2" filters: branches: only: - main jobs: - prepare_release: context: fx-libraries