6 group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
7 cancel-in-progress: true
13 runs-on: ubuntu-latest
16 - name: Check out code
17 uses: actions/checkout@v4
19 uses: ruby/setup-ruby@v1
21 ruby-version: ${{ env.ruby }}
25 run: bundle exec rubocop --format fuubar
31 - name: Check out code
32 uses: actions/checkout@v4
34 uses: ruby/setup-ruby@v1
36 ruby-version: ${{ env.ruby }}
40 run: bundle exec erb_lint .
46 - name: Check out code
47 uses: actions/checkout@v4
49 uses: ruby/setup-ruby@v1
51 ruby-version: ${{ env.ruby }}
54 - name: Cache node modules
55 uses: actions/setup-node@v4
58 - name: Install node modules
59 run: bundle exec bin/yarn install
60 - name: Create dummy database configuration
61 run: cp config/example.database.yml config/database.yml
63 run: bundle exec rails eslint
69 - name: Check out code
70 uses: actions/checkout@v4
72 uses: ruby/setup-ruby@v1
74 ruby-version: ${{ env.ruby }}
78 run: bundle exec brakeman -q
82 name: Rails Annotate Models
86 - name: Check out code
87 uses: actions/checkout@v4
89 uses: ruby/setup-ruby@v1
91 ruby-version: ${{ env.ruby }}
94 - name: Configure rails
96 cp config/github.database.yml config/database.yml
97 cp config/example.storage.yml config/storage.yml
98 - name: Setup database
100 sudo systemctl start postgresql
101 sudo -u postgres createuser -s $(id -un)
102 createdb openstreetmap
103 bundle exec rails db:schema:load
104 - name: Run Annotate Models
105 run: bundle exec annotaterb models
106 - name: Fail if model annotations are out of date
107 run: git diff --exit-code