kotauchisunsun/ts-express

View on GitHub
.circleci/config.yml

Summary

Maintainability
Test Coverage
# Javascript Node CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
#
version: 2.1

orbs:
  sonarqube: onehq/sonarqube@0.3.0

jobs:
  build:
    docker:
      # specify the version you desire here
      - image: circleci/node:10.15.0
      
      # Specify service dependencies here if necessary
      # CircleCI maintains a library of pre-built images
      # documented at https://circleci.com/docs/2.0/circleci-images/
      # - image: circleci/mongo:3.4.4

    working_directory: ~/repo

    steps:
      - checkout

      # Download and cache dependencies
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "package.json" }}
          # fallback to using the latest cache if no exact match is found
          - v1-dependencies-

      - run: npm install

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

      - run:
          name: Setup Code Climate test-reporter
          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

      # run tests!
      - run: 
          command: |
            ./cc-test-reporter before-build
            npm run test
            ./cc-test-reporter after-build --coverage-input-type lcov --exit-code $?
      
      - run:
          command: |
            wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-linux.zip
            unzip sonar-scanner-cli-3.3.0.1492-linux.zip

      - run:
          command: |
            ./sonar-scanner-3.3.0.1492-linux/bin/sonar-scanner \
            -Dsonar.projectKey=kotauchisunsun_ts-express \
            -Dsonar.organization=kotauchisunsun-github \
            -Dsonar.sources=. \
            -Dsonar.exclusions=sonar-scanner-3.3.0.1492-linux/** \
            -Dsonar.host.url=https://sonarcloud.io \
            -Dsonar.projectVersion=${CIRCLE_BRANCH} \
            -Dsonar.login=${SONARQUBE_TOKEN}