ManageIQ/manageiq

View on GitHub
.github/workflows/ci.yaml

Summary

Maintainability
Test Coverage
---
name: CI
on:
  push:
  pull_request:
  workflow_dispatch:
  schedule:
  - cron: 0 0 * * *
permissions:
  contents: read
jobs:
  ci:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ruby-version:
        - '3.0'
        - '3.1'
        test-suite:
        - vmdb
        - security
    services:
      postgres:
        image: manageiq/postgresql:13
        env:
          POSTGRESQL_USER: root
          POSTGRESQL_PASSWORD: smartvm
          POSTGRESQL_DATABASE: vmdb_test
        options: "--health-cmd pg_isready --health-interval 2s --health-timeout 5s
          --health-retries 5"
        ports:
        - 5432:5432
    env:
      TEST_SUITE: "${{ matrix.test-suite }}"
      PGHOST: localhost
      PGPASSWORD: smartvm
      CC_TEST_REPORTER_ID: "${{ secrets.CC_TEST_REPORTER_ID }}"
    steps:
    - uses: actions/checkout@v4
    - name: Set up system
      run: bin/before_install
    - name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: "${{ matrix.ruby-version }}"
        bundler-cache: true
      timeout-minutes: 30
    - name: Prepare tests
      run: bin/setup
    - name: Check DB access on initialization
      run: bundle exec rake test:verify_no_db_access_loading_rails_environment
    - name: Run tests
      run: bundle exec rake
    - name: Report code coverage
      if: "${{ github.ref == 'refs/heads/master' && matrix.ruby-version == '3.0' &&
        matrix.test-suite == 'vmdb' }}"
      continue-on-error: true
      uses: paambaati/codeclimate-action@v5