Merge pull request #5070 from tomhughes/rails72 #785
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Lint | |
on: | |
- push | |
- pull_request | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
env: | |
os: ubuntu-22.04 | |
ruby: '3.1' | |
jobs: | |
rubocop: | |
name: RuboCop | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ env.ruby }} | |
rubygems: 3.4.10 | |
bundler-cache: true | |
- name: Run rubocop | |
run: bundle exec rubocop --format fuubar | |
erblint: | |
name: ERB Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ env.ruby }} | |
rubygems: 3.4.10 | |
bundler-cache: true | |
- name: Run erblint | |
run: bundle exec erblint . | |
eslint: | |
name: ESLint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ env.ruby }} | |
rubygems: 3.4.10 | |
bundler-cache: true | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: yarn-${{ env.os }}-${{ hashFiles('yarn.lock') }} | |
restore-keys: | | |
yarn-${{ env.os }}- | |
- name: Install node modules | |
run: bundle exec bin/yarn install | |
- name: Create dummy database configuration | |
run: cp config/example.database.yml config/database.yml | |
- name: Run eslint | |
run: bundle exec rails eslint | |
brakeman: | |
name: Brakeman | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ env.ruby }} | |
rubygems: 3.4.10 | |
bundler-cache: true | |
- name: Run brakeman | |
run: bundle exec brakeman -q | |
annotate_models: | |
env: | |
RAILS_ENV: test | |
name: Rails Annotate Models | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ env.ruby }} | |
rubygems: 3.4.10 | |
bundler-cache: true | |
- name: Setup database | |
run: | | |
sudo systemctl start postgresql | |
sudo -u postgres createuser -s $(id -un) | |
createdb openstreetmap | |
cp config/github.database.yml config/database.yml | |
bundle exec rails db:schema:load | |
- name: Run Annotate Models | |
run: bundle exec rails annotate_models | |
- name: Fail if model annotations are out of date | |
run: git diff --exit-code |