darthjee/baleog

View on GitHub
.circleci/config.yml

Summary

Maintainability
Test Coverage
version: 2
workflows:
  version: 2
  test-and-build:
    jobs:
      - test:
          filters:
            tags:
              only: /.*/
      - checks:
          filters:
            tags:
              only: /.*/
      - build-and-release:
          requires: [test, checks]
          filters:
            tags:
              only: /\d+\.\d+\.\d+/
            branches:
              only:
                - main
jobs:
  test:
    docker:
      - image: darthjee/circleci_ruby_270:1.3.0
        environment:
          PROJECT: baleog
    steps:
      - checkout
      - run:
          name: Prepare Coverage Test Report
          command: cc-test-reporter before-build
      - run:
          name: Bundle Install
          command: bundle install
      - run:
          name: RSpec
          command: bundle exec rspec
      - run:
          name: Coverage Test Report
          command: cc-test-reporter after-build --exit-code $?
  checks:
    docker:
      - image: darthjee/circleci_ruby_270:1.3.0
        environment:
          PROJECT: baleog
    steps:
      - checkout
      - run:
          name: Bundle Install
          command: bundle install
      - run:
          name: Rubocop
          command: rubocop
      - run:
          name: Yardstick coverage check
          command: bundle exec rake verify_measurements
      - run:
          name: Check version documentation
          command: check_readme.sh
      - run:
          name: Rubycritcs check
          command: rubycritic.sh
      - run:
          name: Check unit tests
          command: check_specs
  build-and-release:
    docker:
      - image: darthjee/circleci_ruby_270:1.3.0
        environment:
          PROJECT: baleog
    steps:
      - checkout
      - run:
          name: Bundle Install
          command: bundle install
      - run:
          name: Signin
          command: build_gem.sh signin
      - run:
          name: Build Gem
          command: build_gem.sh build
      - run:
          name: Push Gem
          command: build_gem.sh push