puppetlabs / cat-github-actions

1 stars 4 forks source link

gem CI workflow: Don't run rubocop multiple times #99

Open bastelfreak opened 1 week ago

bastelfreak commented 1 week ago

Use Case

At the moment the [gem_ci](https://github.com/puppetlabs/cat-github-actions/blob/main/.github/workflows/gem_ci.yml#L61 workflow runs the rubocop rake task multiple times. I think this should be updated. This check doesn't depend on the ruby/puppet version in the CI job. At Vox Pupuli we use something like this pattern:

jobs:
  rubocop:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Ruby ${{ matrix.ruby }}
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: "3.3"
          bundler-cache: true
      - name: Run Rubocop
        run: bundle exec rake rubocop
  test:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        ruby:
          - "2.7"
          - "3.0"
          - "3.1"
          - "3.2"
          - "3.3"
    name: Ruby ${{ matrix.ruby }}
    steps:
      - uses: actions/checkout@v4
      - name: Install Ruby ${{ matrix.ruby }}
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
          bundler-cache: true
      - name: Run tests
        run: bundle exec rake --rakefile Rakefile_ci -T | grep release
      - name: Verify gem builds
        run: gem build --strict --verbose *.gemspec

This defines a rubocop job outside of the matrix.

Describe the Solution You Would Like

Run rubocop only once.

Describe Alternatives You've Considered

Additional Context

jordanbreen28 commented 3 days ago

hey @bastelfreak - we agree, thanks for highlighting that to us. We can't say when we will get round to implementing this, so we'll leave this issue open for now as a reminder. Thanks

bastelfreak commented 3 days ago

we'll leave this issue open for now as a reminder

Then why did you close it? :D

jordanbreen28 commented 3 days ago

we'll leave this issue open for now as a reminder

Then why did you close it? :D

Whoops 🤣 coffee hadn't kicked in