.github/workflows/lint.yml: Add task verifying annotations are up2date

This commit is contained in:
Gregory Igelmund 2023-10-14 11:22:40 +08:00
parent a4edd3fd04
commit aa573ce1bb
No known key found for this signature in database
GPG key ID: 7014FB8C0081D485
3 changed files with 29 additions and 2 deletions

View file

@ -72,3 +72,27 @@ jobs:
bundler-cache: true bundler-cache: true
- name: Run brakeman - name: Run brakeman
run: bundle exec brakeman -q 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:test: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

View file

@ -136,7 +136,6 @@ gem "image_processing"
# Gems useful for development # Gems useful for development
group :development do group :development do
gem "annotate"
gem "better_errors" gem "better_errors"
gem "binding_of_caller" gem "binding_of_caller"
gem "debug_inspector" gem "debug_inspector"
@ -167,3 +166,7 @@ group :test do
gem "simplecov-lcov", :require => false gem "simplecov-lcov", :require => false
gem "webmock" gem "webmock"
end end
group :development, :test do
gem "annotate"
end

View file

@ -1,7 +1,7 @@
# NOTE: only doing this in development as some production environments (Heroku) # NOTE: only doing this in development as some production environments (Heroku)
# NOTE: are sensitive to local FS writes, and besides -- it's just not proper # NOTE: are sensitive to local FS writes, and besides -- it's just not proper
# NOTE: to have a dev-mode tool do its thing in production. # NOTE: to have a dev-mode tool do its thing in production.
if Rails.env.development? if Rails.env.development? || Rails.env.test?
task :set_annotation_options => :environment do task :set_annotation_options => :environment do
# You can override any of these by setting an environment variable of the # You can override any of these by setting an environment variable of the
# same name. # same name.