6 group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
7 cancel-in-progress: true
13 runs-on: ubuntu-latest
15 - name: Check out code
16 uses: actions/checkout@v4
18 uses: ruby/setup-ruby@v1
20 ruby-version: ${{ env.ruby }}
24 run: bundle exec rubocop --format fuubar
29 - name: Check out code
30 uses: actions/checkout@v4
32 uses: ruby/setup-ruby@v1
34 ruby-version: ${{ env.ruby }}
38 run: bundle exec erb_lint .
43 - name: Check out code
44 uses: actions/checkout@v4
46 uses: ruby/setup-ruby@v1
48 ruby-version: ${{ env.ruby }}
51 - name: Cache node modules
52 uses: actions/setup-node@v4
55 - name: Install node modules
56 run: bundle exec bin/yarn install
57 - name: Create dummy database configuration
58 run: cp config/example.database.yml config/database.yml
60 run: bundle exec rails eslint
65 - name: Check out code
66 uses: actions/checkout@v4
68 uses: ruby/setup-ruby@v1
70 ruby-version: ${{ env.ruby }}
74 run: bundle exec brakeman -q
78 name: Rails Annotate Models
81 - name: Check out code
82 uses: actions/checkout@v4
84 uses: ruby/setup-ruby@v1
86 ruby-version: ${{ env.ruby }}
89 - name: Configure rails
91 cp config/github.database.yml config/database.yml
92 cp config/example.storage.yml config/storage.yml
93 - name: Setup database
95 sudo systemctl start postgresql
96 sudo -u postgres createuser -s $(id -un)
97 createdb openstreetmap
98 bundle exec rails db:schema:load
99 - name: Run Annotate Models
100 run: bundle exec annotaterb models
101 - name: Fail if model annotations are out of date
102 run: git diff --exit-code