Updating Rails - department-of-veterans-affairs/caseflow GitHub Wiki

Note: This page is focused on minor version updates. Changing the Rails major version (e.g., from Rails 5 to Rails 6) will be more involved.

From time to time, it is necessary to update the version of Rails we are using. This page will focus on two parts: performing the actual update, and then the testing we perform before deploying the changes.

Updating Rails

After creating a new feature branch:

  • Update Gemfile to specify the new desired version.
  • Run bundle update rails, which will go through the dependency tree and update dependent gems as needed.
    • The Active* and Action* gems will all match the new Rails version.
    • It is possible some other dependencies may be updated in the process. Take a moment to run through and make sure they are safe, reasonable version bumps.
  • Commit the changes to both Gemfile and Gemfile.lock and open a new pull request.

Testing the changes

First, let the usual automated tests run to make sure nothing wild has happened.

Assuming all looks well there, deploy the branch on which the PR is based to UAT. We perform the following smoke test:

  • Switch to an Intake user and start an intake
  • Switch to a Queue user (VLJ) and load their queue
  • Switch to a Hearings coordinator and test the hearing functionality

(This section needs to be updated with more detailed information.)