ManageIQ/manageiq-ui-classic

View on GitHub
.github/workflows/ci.yaml

Summary

Maintainability
Test Coverage
---
name: CI
on:
  push:
  pull_request:
  workflow_dispatch:
  schedule:
  - cron: 0 0 * * *
jobs:
  ci:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ruby-version:
        - '3.1'
        - '3.3'
        node-version:
        - 18
        test-suite:
        - spec
        - spec:compile
        - spec:debride
        - spec:javascript
        - spec:jest
        - spec:routes
        - spec: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: Set up Node
      if: "${{ matrix.test-suite == 'spec:compile' || matrix.test-suite == 'spec:javascript'
        || matrix.test-suite == 'spec:jest' }}"
      uses: actions/setup-node@v4
      with:
        node-version: "${{ matrix.node-version }}"
        cache: yarn
        registry-url: https://npm.manageiq.org/
    - 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.3' && matrix.test-suite == 'spec' }}
      continue-on-error: true
      uses: paambaati/codeclimate-action@v5