X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/dc3e7ae24c138607e3e2bbc8037593e14b8d3379..55b2ddc6dfc8e36f135836d54a16d17bdb6f8372:/.github/workflows/lint.yml?ds=inline diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 27f93428c..685937b03 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -2,114 +2,73 @@ name: Lint on: - push - pull_request +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} + cancel-in-progress: true env: - os: ubuntu-20.04 - ruby: 2.7 + os: ubuntu-22.04 + ruby: '3.0' jobs: rubocop: name: RuboCop - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup ruby - uses: actions/setup-ruby@v1.1.3 + uses: ruby/setup-ruby@v1 with: ruby-version: ${{ env.ruby }} - - name: Cache gems - uses: actions/cache@v2.1.7 - 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 + bundler-cache: true - name: Run rubocop run: bundle exec rubocop --format fuubar erblint: name: ERB Lint - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup ruby - uses: actions/setup-ruby@v1.1.3 + uses: ruby/setup-ruby@v1 with: ruby-version: ${{ env.ruby }} - - name: Cache gems - uses: actions/cache@v2.1.7 - 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 + bundler-cache: true - name: Run erblint run: bundle exec erblint . eslint: name: ESLint - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup ruby - uses: actions/setup-ruby@v1.1.3 + uses: ruby/setup-ruby@v1 with: ruby-version: ${{ env.ruby }} - - name: Cache gems - uses: actions/cache@v2.1.7 - with: - path: vendor/bundle - key: bundle-${{ env.os }}-${{ env.ruby }}-${{ hashFiles('Gemfile.lock') }} - restore-keys: | - bundle-${{ env.os }}-${{ env.ruby }}- + bundler-cache: true - name: Cache node modules - uses: actions/cache@v2.1.7 + uses: actions/cache@v3 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 + 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 rake eslint + run: bundle exec rails eslint brakeman: name: Brakeman - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup ruby - uses: actions/setup-ruby@v1.1.3 + uses: ruby/setup-ruby@v1 with: ruby-version: ${{ env.ruby }} - - name: Cache gems - uses: actions/cache@v2.1.7 - 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 + bundler-cache: true - name: Run brakeman run: bundle exec brakeman -q