yast/yast-yast2

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" ]

    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
        env:
          # enable code coverage reporting
          COVERAGE: 1
          # English messages, UTF-8, "C" locale for numeric formatting tests
          LC_ALL:
          LANG: en_US.UTF-8
          LC_NUMERIC: C

      # 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: [ "tumbleweed" ]

    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" ]

    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: [ "tumbleweed" ]

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

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

      - name: Yardoc
        run: yardoc

  # 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: [ "tumbleweed" ]

    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