From: Gregory Igelmund Date: Sat, 14 Oct 2023 03:22:40 +0000 (+0800) Subject: .github/workflows/lint.yml: Add task verifying annotations are up2date X-Git-Tag: live~953^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/aa573ce1bb82f778ed7f7a84aeceb66a74ff352f .github/workflows/lint.yml: Add task verifying annotations are up2date --- diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 685937b03..cdba19949 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -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: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 diff --git a/Gemfile b/Gemfile index 724dd3bec..d8d49a1ce 100644 --- a/Gemfile +++ b/Gemfile @@ -136,7 +136,6 @@ gem "image_processing" # Gems useful for development group :development do - gem "annotate" gem "better_errors" gem "binding_of_caller" gem "debug_inspector" @@ -167,3 +166,7 @@ group :test do gem "simplecov-lcov", :require => false gem "webmock" end + +group :development, :test do + gem "annotate" +end diff --git a/lib/tasks/auto_annotate_models.rake b/lib/tasks/auto_annotate_models.rake index 70bc391a0..103e7fcc9 100644 --- a/lib/tasks/auto_annotate_models.rake +++ b/lib/tasks/auto_annotate_models.rake @@ -1,7 +1,7 @@ # 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: 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 # You can override any of these by setting an environment variable of the # same name.