openstreetmap-website/.github/workflows/lint.yml
2020-12-09 22:07:40 +00:00

115 lines
3.2 KiB
YAML

name: Lint
on:
- push
- pull_request
env:
os: ubuntu-20.04
ruby: 2.7
jobs:
rubocop:
name: RuboCop
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Setup ruby
uses: actions/setup-ruby@v1.1.2
with:
ruby-version: ${{ env.ruby }}
- name: Cache gems
uses: actions/cache@v2
with:
path: vendor/bundle
key: bundle-${{ env.os }}-${{ env.ruby }}-${{ hashFiles('Gemfile.lock') }}
restore-keys: |
bundle-${{ env.os }}-${{ env.ruby }}-
- name: Install gems
run: |
gem install bundler
bundle config set deployment true
bundle install --jobs 4 --retry 3
- name: Run rubocop
run: bundle exec rubocop --format fuubar
erblint:
name: ERB Lint
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Setup ruby
uses: actions/setup-ruby@v1.1.2
with:
ruby-version: ${{ env.ruby }}
- name: Cache gems
uses: actions/cache@v2
with:
path: vendor/bundle
key: bundle-${{ env.os }}-${{ env.ruby }}-${{ hashFiles('Gemfile.lock') }}
restore-keys: |
bundle-${{ env.os }}-${{ env.ruby }}-
- name: Install gems
run: |
gem install bundler
bundle config set deployment true
bundle install --jobs 4 --retry 3
- name: Run erblint
run: bundle exec erblint .
eslint:
name: ESLint
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Setup ruby
uses: actions/setup-ruby@v1.1.2
with:
ruby-version: ${{ env.ruby }}
- name: Cache gems
uses: actions/cache@v2
with:
path: vendor/bundle
key: bundle-${{ env.os }}-${{ env.ruby }}-${{ hashFiles('Gemfile.lock') }}
restore-keys: |
bundle-${{ env.os }}-${{ env.ruby }}-
- name: Cache node modules
uses: actions/cache@v1
with:
path: node_modules
key: yarn-${{ env.os }}-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-${{ env.os }}-
- name: Install gems
run: |
gem install bundler
bundle config set deployment true
bundle install --jobs 4 --retry 3
- name: Install node modules
run: bundle exec rake yarn:install
- name: Create dummy database configuration
run: cp config/example.database.yml config/database.yml
- name: Run eslint
run: bundle exec rake eslint
brakeman:
name: Brakeman
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Setup ruby
uses: actions/setup-ruby@v1.1.2
with:
ruby-version: ${{ env.ruby }}
- name: Cache gems
uses: actions/cache@v2
with:
path: vendor/bundle
key: bundle-${{ env.os }}-${{ env.ruby }}-${{ hashFiles('Gemfile.lock') }}
restore-keys: |
bundle-${{ env.os }}-${{ env.ruby }}-
- name: Install gems
run: |
gem install bundler
bundle config set deployment true
bundle install --jobs 4 --retry 3
- name: Run brakeman
run: bundle exec brakeman -q