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: Setup database
91 sudo systemctl start postgresql
92 sudo -u postgres createuser -s $(id -un)
93 createdb openstreetmap
94 cp config/github.database.yml config/database.yml
95 bundle exec rails db:schema:load
96 - name: Run Annotate Models
97 run: bundle exec rails annotate_models
98 - name: Fail if model annotations are out of date
99 run: git diff --exit-code