kymmt90/hatenablog

View on GitHub
.github/workflows/build.yml

Summary

Maintainability
Test Coverage
name: build

on:
  push:
    branches:
      - master
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
        include:
          - ruby: '2.6'
            bundler-version: '2.4.22'
          - ruby: '2.7'
            bundler-version: '2.4.22'
          - ruby: '3.3'
            report-coverage: true
    steps:
      - uses: actions/checkout@v2
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
      - name: Install old Bundler
        if: matrix.bundler-version
        run: gem install bundler -v ${{ matrix.bundler-version }}
      - name: Install Bundler
        if: "!matrix.bundler-version"
        run: gem install bundler
      - run: bundle install -j4
      - name: Run tests and report test coverage
        if: matrix.report-coverage
        uses: paambaati/codeclimate-action@v2.7.5
        env:
          CC_TEST_REPORTER_ID: 309cf0784d00d2a6009566d28be111a8a0280cdeb2da280225eedf577b16beb5
        with:
          coverageCommand: bundle exec rake
          coverageLocations: ${{github.workspace}}/coverage/coverage.json:simplecov
      - name: Run tests
        if: "!matrix.report-coverage"
        env:
          TZ: Asia/Tokyo
        run: bundle exec rake
  steep:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: 'true'
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.0'
      - run: bundle install -j4
      - run: rbs collection install
      - run: bundle exec steep check