From: Tom Hughes Date: Wed, 9 Dec 2020 16:51:51 +0000 (+0000) Subject: Add actions workflow to run lint tools X-Git-Tag: live~1911^2~4 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/e027d5fc5ce3dc381673faf17ca827ae11c0a1f7?ds=inline Add actions workflow to run lint tools --- diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..e9b7cfd4a --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,115 @@ +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 diff --git a/README.md b/README.md index 81b8ce7bf..1a6c46740 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # "The Rails Port" +[![Lint](https://github.com/openstreetmap/openstreetmap-website/workflows/Lint/badge.svg?branch=master&event=push)](https://github.com/openstreetmap/openstreetmap-website/actions?query=workflow%3ALint%20branch%3Amaster%20event%3Apush) [![Build Status](https://travis-ci.org/openstreetmap/openstreetmap-website.svg?branch=master)](https://travis-ci.org/openstreetmap/openstreetmap-website) [![Coverage Status](https://coveralls.io/repos/openstreetmap/openstreetmap-website/badge.svg?branch=master)](https://coveralls.io/r/openstreetmap/openstreetmap-website?branch=master)