yast/yast-storage-ng

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage

# See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions

name: CI

on: [push, pull_request]

jobs:
  Tests:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        distro:  [ "tumbleweed", "leap_latest" ]

    container:
      image: registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby

    steps:

    - name: Git Checkout
      uses: actions/checkout@v2

    # just for easier debugging...
    - name: Inspect Installed Packages
      run: rpm -qa | sort

    - name: Unit Tests
      run: rake test:unit
      # enable code coverage reporting
      env:
        COVERAGE: 1

    # send the coverage report to coveralls.io
    - name: Coveralls Report
      # send it only from the TW build to avoid duplicate submits
      if: ${{ matrix.distro == 'tumbleweed' }}
      uses: coverallsapp/github-action@master
      with:
        github-token: ${{ secrets.GITHUB_TOKEN }}

  Rubocop:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        distro: [ "leap_latest" ]

    container:
      image: registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby

    steps:

    - name: Git Checkout
      uses: actions/checkout@v2

    - name: Rubocop
      run: rake check:rubocop

  Package:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        distro:  [ "tumbleweed", "leap_latest" ]

    container:
      image: registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby

    steps:

    - name: Git Checkout
      uses: actions/checkout@v2

    - name: Package Build
      run: yast-ci-ruby -o package

  Yardoc:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        distro: [ "leap_latest" ]

    container:
      image: registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby

    steps:

    - name: Git Checkout
      uses: actions/checkout@v2

    - name: Yardoc
      run: rake check:doc

  # downloading the Docker image takes some time so bundling several fast
  # checks into one job avoids that overhead
  Checks:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        distro: [ "leap_latest" ]

    container:
      image: registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby

    steps:

    - name: Git Checkout
      uses: actions/checkout@v2

    - name: Perl Syntax
      run: yast-ci-ruby -o perl_syntax

    - name: POT Check
      run: rake check:pot