GioCirque/DynamoDb-LevelDown

View on GitHub
.circleci/config.yml

Summary

Maintainability
Test Coverage
version: 2.1
orbs:
  codecov: codecov/codecov@1.0.5

jobs:
  build:
    environment:
      CC_TEST_REPORTER_ID: efef69bcc07b8d45b2331b5fe21c83a1d073f35bc7fda2dd55f956494d6f8daf

    docker:
      - image: circleci/node:12.13
      - image: localstack/localstack:latest
        environment:
          LOCALSTACK_SERVICES: s3,dynamodb

    working_directory: ~/repo

    steps:
      - checkout
      - setup_remote_docker

      - restore_cache:
          keys:
            - v1-dependencies-{{ checksum "package.json" }}
            - v1-dependencies-

      - run:
          name: Install Dependencies
          command: yarn install

      - save_cache:
          paths:
            - node_modules
          key: v1-dependencies-{{ checksum "package.json" }}

      - run:
          name: Setup Code Climate
          command: |
            # download test reporter as a static binary
            curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
            chmod +x ./cc-test-reporter
            ./cc-test-reporter before-build

      - run:
          name: Testing
          command: yarn test

      - run:
          name: Publish Code Climate
          command: |
            cp -R build/coverage coverage
            ./cc-test-reporter after-build -t lcov
            rm -rf coverage

      - codecov/upload:
          file: build/coverage/lcov.info

      - store_test_results:
          path: build/

      - store_artifacts:
          path: build/

      - run:
          name: Semantic Release
          command: |
            rm -rf ./.circleci
            rm -rf ./.tmp
            rm -rf ./.vscode
            rm -rf ./build
            rm -f ./.gitignore
            rm -f ./.nycrc.json
            yarn semantic-release