X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/61e0fa5f6315b543e8037e81d77c6b3f9a96ff6d..62ba143c3c0b7608dcd41f9604fe35ca22d126b4:/.github/workflows/lint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index bd02bd624..2050aaf3f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -6,15 +6,15 @@ 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: ruby/setup-ruby@v1 with: @@ -24,10 +24,10 @@ jobs: 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: ruby/setup-ruby@v1 with: @@ -37,10 +37,10 @@ jobs: 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: ruby/setup-ruby@v1 with: @@ -54,17 +54,17 @@ jobs: restore-keys: | yarn-${{ env.os }}- - name: Install node modules - run: bundle exec rails 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 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: ruby/setup-ruby@v1 with: @@ -72,3 +72,27 @@ jobs: 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 }} + 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