Skip to content

Include target branch lookup #2317

Include target branch lookup

Include target branch lookup #2317

Workflow file for this run

name: Linting
on:
push:
branches:
- '**'
pull_request:
branches:
- 'main' # Continuous Releases
jobs:
rubocop:
name: RuboCop
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 2 # to also fetch parent commit for git diff
- name: Set up Ruby 3
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1.4
bundler-cache: true
# adapted from https://github.com/actions/checkout/issues/520#issuecomment-1167205721
# and: https://robertfaldo.medium.com/commands-to-run-rubocop-and-specs-you-changed-in-your-branch-e6d2f2e4110b
# --diff-filter=d excludes deleted files
# "|| test $? = 1;" is used to ignore the exit code of grep when no files
# are found matching the pattern
- name: Get changed ruby files (git diff)
run: |
targetBranch = ${{ github.base_ref || 'mampf-next' }}
changedFiles=$(git diff --name-only --diff-filter=d -r $targetBranch | grep '\.rb$' || test $? = 1;)
printf "Changed ruby files: \n$changedFiles"
echo "CHANGED_FILES=\"$changedFiles\"" >> $GITHUB_ENV
# See RuboCop command line flags here:
# https://docs.rubocop.org/rubocop/usage/basic_usage.html#command-line-flags
- name: Run RuboCop
if: ${{ env.CHANGED_FILES != '' }}
run: $CHANGED_FILES | xargs bundle exec rubocop
# eslint:
# runs-on: ubuntu-latest
# name: A job to check eslint linter errors
# steps:
# - uses: actions/checkout@v2
# - name: Linter count
# id: hello
# uses: henrixapp/[email protected]
# with:
# name: EsLint
# command: npx eslint
# total_regexp: \d+ problems
# errors_regexp: \d+ errors
# warnings_regexp: \d+ warnings
# compare_branch: mampf-next
# mode: changed
# include: .js
# coffee:
# runs-on: ubuntu-latest
# name: A job to check coffee linter errors
# steps:
# - uses: actions/checkout@v2
# - name: Linter count
# id: hello
# uses: henrixapp/[email protected]
# with:
# name: Coffee
# command: npx coffeelint
# total_regexp: \d+ errors
# errors_regexp: \d+ errors
# warnings_regexp: \d+ warnings
# compare_branch: mampf-next
# mode: changed
# include: .coffee
# erblint:
# runs-on: ubuntu-latest
# name: A job to check erblint linter errors
# steps:
# - uses: actions/checkout@v2
# - name: Set up Ruby 2.7
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: 2.7
# - name: Install gems # usual step to install the gems.
# run: |
# bin/bundle config path vendor/bundle
# bin/bundle config set without 'default doc job cable storage ujs test db'
# bin/bundle install --jobs 4 --retry 3
# - name: Linter count
# id: hello
# uses: henrixapp/[email protected]
# with:
# name: Erblint
# command: bin/bundle exec erblint .
# total_regexp: \d+ error(s)
# errors_regexp: \d+ error(s)
# warnings_regexp: \d+ error(s)
# compare_branch: mampf-next