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
# Gems useful for development
group :development do
- gem "annotate"
gem "better_errors"
gem "binding_of_caller"
gem "debug_inspector"
gem "simplecov-lcov", :require => false
gem "webmock"
end
+
+group :development, :test do
+ gem "annotate"
+end
# 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.