fog/fog-proxmox

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage
name: test

on:
  push:
    branches: [ master ]
  pull_request:

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: 2.7
          bundler-cache: true
      - run: bundle install
      - name: rubocop runs
        run: bundle exec rake rubocop
  test:
    needs: [lint]
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: '2.7'
        bundler-cache: true
    - name: Install dependencies
      run: bundle install
    - name: Run tests with simplecov
      run: bundle exec rake spec
      env:
        CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
    - name: Run vulnerabilities check
      run: bundle exec rake audit
    - name: Upload simplecov results for coverage
      uses: actions/upload-artifact@v1
      with:
        name: coverage
        path: coverage/
      
  coverage:
    needs: [ lint, test ]
    name: coverage
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Download tests result from test
      uses: actions/download-artifact@v4.1.7
      with:
        name: coverage
    - name: Publish code coverage to codeclimate
      uses: paambaati/codeclimate-action@v3.2.0
      env:
        CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
        GIT_BRANCH: ${{ github.ref }}
        GIT_COMMIT_SHA: ${{ github.sha }}
      with:
        workingDirectory: ${{github.workspace}}
        debug: true
        coverageLocations: |
          ${{github.workspace}}/coverage/coverage.json:simplecov