Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature/APPEALS-34124-43428-29105-28925-33581 - Rails 6.1 upgrade (release) #22817

Merged
merged 1 commit into from
Sep 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ plugins:
mass_threshold: 81
exclude_patterns:
- 'db/migrate/*'
- 'db/etl_migrate/*'
- 'app/controllers/idt/api/v2/appeals_controller.rb'
- 'spec/controllers/idt/api/v2/appeals_controller_spec.rb'
- 'spec/controllers/idt/api/appeals_controller_spec.rb'
Expand Down Expand Up @@ -79,6 +80,7 @@ plugins:
enabled: false
exclude_patterns:
- 'db/migrate/*'
- 'db/etl_migrate/*'
- 'app/jobs/dispatch_email_job.rb'
- 'app/mailers/dispatch_mailer.rb'
rubocop:
Expand Down Expand Up @@ -115,6 +117,7 @@ plugins:

exclude_patterns:
- 'db/schema.rb'
- 'db/etl_schema.rb'
- 'db/seeds.rb'
- 'db/scripts/*'
- 'node_modules/**/*'
Expand Down
34 changes: 4 additions & 30 deletions .github/workflows/make-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,50 +40,24 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4

# Since installing a client to Oracle DB is a pain and setting up the VACOLS DB is not necessary, let's skip it.
- name: Remove references to VACOLS Oracle DB
run: |
sed '/ruby-oci8/d' -i Gemfile
sed '/activerecord-oracle_enhanced-adapter/d' -i Gemfile

# Would like to run `bundle lock --update` to update Gemfile.lock without installing gems (to be done in next step)
# but bundler is not installed yet, so manually modify it:
sed '/ruby-oci8/d' -i Gemfile.lock
sed '/^ activerecord-oracle_enhanced-adapter/,/^ [a-z]/{/^ activerecord-oracle_enhanced-adapter/!{/^ [a-z]/!d}}' -i Gemfile.lock
sed '/activerecord-oracle_enhanced-adapter/d' -i Gemfile.lock
sed '/ruby-plsql/d' -i Gemfile.lock

# Remove VACOLS database configuration
# https://stackoverflow.com/questions/6287755/using-sed-to-delete-all-lines-between-two-matching-patterns
sed '/_vacols:$/,/^$/{/^_vacols:$/!{/^$/!d}}' -i config/database.yml

# Even though it won't be used in this script, Rails expects a 'test_vacols' configuration due to "#{Rails.env}_vacols"
echo '# Copied from demo_vacols configuration
test_vacols:
adapter: postgresql
pool: 1
timeout: 5000
database: test-vacols
' >> config/database.yml

- name: Setup Ruby and install gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- name: Setup test database
env:
RAILS_ENV: test
RAILS_ENV: make_docs
POSTGRES_HOST: localhost
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
run: |
echo "::group::Set up Caseflow DB"
bin/rails db:create && bin/rails db:schema:load
bin/rails db:create:primary && bin/rails db:schema:load:primary
echo "::endgroup::"

echo "::group::Set up Caseflow ETL DB"
DB=etl bundle exec rake db:create db:schema:load
bundle exec rake db:create:etl db:schema:load:etl
echo "::endgroup::"

# Skipping VACOLS since Oracle DB is not set up
Expand All @@ -95,7 +69,7 @@ jobs:

- name: Create DB schema documentation
env:
RAILS_ENV: test
RAILS_ENV: make_docs
POSTGRES_HOST: localhost
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,8 @@ jobs:

- name: Database setup
run: |
./ci-bin/capture-log "DB=etl bundle exec rake db:create db:schema:load db:migrate"
./ci-bin/capture-log "bundle exec rake db:create db:schema:load db:migrate"
./ci-bin/capture-log "bundle exec rake db:create:etl db:schema:load:etl"
./ci-bin/capture-log "bundle exec rake db:create:primary db:schema:load:primary"
./ci-bin/capture-log "make -f Makefile.example external-db-create"
# added line to create external table(s) that are needed for tests

Expand Down
2 changes: 1 addition & 1 deletion .reek.yml
Original file line number Diff line number Diff line change
Expand Up @@ -291,5 +291,5 @@ directories:
# Directories and files below will not be scanned at all
exclude_paths:
- db/migrate
- db/etl/migrate
- db/etl_migrate
- spec
1 change: 1 addition & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ AllCops:
Exclude:
- 'bin/**/*'
- 'db/**/*'
- 'config.ru'
- 'config/**/*'
- 'script/**/*'
- 'vendor/**/*'
Expand Down
6 changes: 3 additions & 3 deletions Dangerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,19 @@ if git.modified_files.grep(/db\/schema.rb/).any?
warn("This PR changes the schema. Please use the PR template checklist.")
end

if git.modified_files.grep(/db\/etl\/schema.rb/).any?
if git.modified_files.grep(/db\/etl_schema.rb/).any?
warn("This PR changes the etl schema. Please use the PR template checklist.")
end

new_db_migrations = git.modified_files.grep(/db\/migrate\//).any?
new_etl_migrations = git.modified_files.grep(/db\/etl\/migrate\//).any?
new_etl_migrations = git.modified_files.grep(/db\/etl_migrate\//).any?

# migration without migrating
if new_db_migrations && git.modified_files.grep(/db\/schema.rb/).none?
warn("This PR contains db migrations, but the schema.rb is not modified. Did you forget to run 'make migrate'?")
end

if new_etl_migrations && git.modified_files.grep(/db\/etl\/schema.rb/).none?
if new_etl_migrations && git.modified_files.grep(/db\/etl_schema.rb/).none?
warn("This PR contains etl migrations, but the etl schema.rb is not modified. Did you forget to run 'make migrate'?")
end

Expand Down
17 changes: 7 additions & 10 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ source ENV["GEM_SERVER_URL"] || "https://rubygems.org"

# State machine
gem "aasm", "4.11.0"
gem "activerecord-import"
gem "activerecord-import", "1.0.3"
gem "acts_as_tree"

# amoeba gem for cloning appeals
Expand All @@ -17,7 +17,7 @@ gem "bgs", git: "https://github.com/department-of-veterans-affairs/ruby-bgs.git"
gem "bootsnap", require: false
gem "browser"
gem "business_time", "~> 0.9.3"
gem "caseflow", git: "https://github.com/department-of-veterans-affairs/caseflow-commons", ref: "716b58caf2116da5fca21c3b3aeea6c9712f3b9d"
gem "caseflow", git: "https://github.com/department-of-veterans-affairs/caseflow-commons", ref: "9bd3635fbd8094d25160669f38d8699e2f1d7a98"
gem "connect_mpi", git: "https://github.com/department-of-veterans-affairs/connect-mpi.git", ref: "a3a58c64f85b980a8b5ea6347430dd73a99ea74c"
gem "connect_vbms", git: "https://github.com/department-of-veterans-affairs/connect_vbms.git", ref: "9807d9c9f0f3e3494a60b6693dc4f455c1e3e922"
gem "console_tree_renderer", git: "https://github.com/department-of-veterans-affairs/console-tree-renderer.git", tag: "v0.1.1"
Expand All @@ -33,9 +33,6 @@ gem "icalendar"
gem "kaminari"
gem "logstasher"
gem "moment_timezone-rails"
# Rails 6 has native support for multiple dbs, so prefer that over multiverse after upgrade.
# https://github.com/ankane/multiverse#upgrading-to-rails-6
gem "multiverse"
gem "newrelic_rpm"
gem "nokogiri", ">= 1.11.0.rc4"
gem "paper_trail", "~> 12.0"
Expand All @@ -56,7 +53,7 @@ gem "pg", platforms: :ruby
# Discussion: https://github.com/18F/college-choice/issues/597#issuecomment-139034834
gem "puma", "5.6.4"
gem "rack", "~> 2.2.6.2"
gem "rails", "6.0.6.1"
gem "rails", "6.1.7.7"
# Used to colorize output for rake tasks
gem "rainbow"
# React
Expand All @@ -80,22 +77,22 @@ gem "stringex", require: false
gem "strong_migrations"
# print trees
gem "tty-tree"
gem "tzinfo", "1.2.10"
gem "tzinfo", "~> 2.0"
# Use Uglifier as compressor for JavaScript assets
gem "uglifier", ">= 1.3.0"
gem "validates_email_format_of"
gem "ziptz"

group :production, :staging, :ssh_forwarding, :development, :test do
# Oracle DB
gem "activerecord-oracle_enhanced-adapter", "~> 6.0.0"
gem "activerecord-oracle_enhanced-adapter", "~> 6.1.0"
gem "ruby-oci8", "~> 2.2"
end

group :test, :development, :demo do
group :test, :development, :demo, :make_docs do
# Security scanners
gem "brakeman"
gem "bullet"
gem "bullet", "~> 6.1.0"
gem "bundler-audit"
# Testing tools
gem "capybara"
Expand Down
Loading
Loading