version: 2.1 # use CircleCI 2.1 jobs: # a collection of steps build: # runs not using Workflows must have a `build` job as entry point working_directory: ~/gelato-instadapp-ci # directory where steps will run docker: # run the steps with Docker - image: circleci/node:12.16.2 # ...with this image as the primary container; this is where all `steps` will run steps: # a collection of executable commands - checkout # special step to check out source code to working directory - restore_cache: # restore the dependency cache # Read about caching dependencies: https://circleci.com/docs/2.0/caching/ name: Restore Yarn Package Cache key: yarn-packages-{{ checksum "yarn.lock" }} - run: name: yarn install command: yarn install --frozen-lockfile - save_cache: # special step to save the dependency cache name: Save Yarn Package Cache key: yarn-packages-{{ checksum "yarn.lock" }} paths: - ./node_modules - restore_cache: # restore hardhat compile cache name: Restore Hardhat Compilation Cache key: solidity-files-cache- - run: # Compile name: Compile command: yarn compile - save_cache: # special step to save the hardhat compile cache name: Save Hardhat Compilation Cache key: solidity-files-cache-{{ checksum "./cache/solidity-files-cache.json" }} paths: - ./cache/solidity-files-cache.json - run: # Formatting name: Prettier Check command: yarn prettier --check . - run: # Linting name: ESLint command: yarn lint - restore_cache: # restore the Hardhat Network Fork Cache name: Restore Hardhat Network Fork Cache key: v6-hardhat-network-fork-cache - run: # Tests name: Tests using hardhat mainnet fork and gas reporter command: yarn test:gas - save_cache: # special step to save the Hardhat Network Fork cache name: Save Hardhat Network Fork Cache key: v6-hardhat-network-fork-cache paths: - ./cache/hardhat-network-fork - run: # Codechecks name: Codechecks gas reporting command: npx codechecks # - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ # path: coverage # prefix: coverage # See https://circleci.com/docs/2.0/deployment-integrations/ for deploy examples