ManageIQ/miq_bot

View on GitHub
.github/workflows/ci.yaml

Summary

Maintainability
Test Coverage
name: CI

on:
  push:
  pull_request:
  schedule:
  - cron: '0 0 * * 0'

jobs:
  ci:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ruby-version:
        - '3.1'
    services:
      postgres:
        image: manageiq/postgresql:13
        env:
          POSTGRESQL_USER: root
          POSTGRESQL_PASSWORD: smartvm
          POSTGRESQL_DATABASE: miq_bot_test
        options: --health-cmd pg_isready --health-interval 2s --health-timeout 5s --health-retries 5
        ports:
        - 5432:5432
      redis:
        image: redis
        options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5
        ports:
        - 6379:6379
    env:
      PGUSER: root
      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: Run tests
      run: bundle exec rake
    - name: Report code coverage
      if: ${{ github.ref == 'refs/heads/master' && matrix.ruby-version == '3.1' }}
      continue-on-error: true
      uses: paambaati/codeclimate-action@v5
    - name: Container Build
      run: docker build .