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

Update non-production gem group minor versions #20261

Closed
4 tasks
LindseySaari opened this issue Feb 22, 2021 · 4 comments
Closed
4 tasks

Update non-production gem group minor versions #20261

LindseySaari opened this issue Feb 22, 2021 · 4 comments
Assignees
Labels
tools-be Used for the backend tools team

Comments

@LindseySaari
Copy link
Contributor

LindseySaari commented Feb 22, 2021

Issue Description

The non-production gem groups are defined as test and development. In an effort to keep our gems up to date, we should approach the less risky updates first. The next least risky update after the patch versions, includes the non-production gems (test and development) and their minor version updates.

In the case of regression caused by a gem update, gems should be updated in isolation. For the less risky updates, we could make separate pull requests or at least separate commits for each grouped update for these or not.

bundle update --conservative --group development --minor
bundle update --conservative --group test --minor

or

bundle update --conservative --group development test --minor

Bundler’s --conservative option prevents updates in any “Production” gem that is also a dependency of a“Non-production” gem.

Gem update spreadsheet

Remaining gems to update:

  • factory bot
  • [ ]

Acceptance Criteria

  • Run automated test suite
  • Test manually
  • Check each updated gem’s CHANGELOG — if available — for potential backward-incompatible changes.

@LindseySaari
Copy link
Contributor Author

Need to come back to rubocop-rails minor update — it depends on rubocop >= 0.90.0', '< 2.0'. Will revisit after the rubocop major version update (dev/test)

@LindseySaari
Copy link
Contributor Author

An Issue with Simplecov > 0.18 reporting to CodeClimate still exists. See here

@rileyanderson
Copy link
Contributor

@dillo We are updating Brakeman to the latest version (department-of-veterans-affairs/vets-api#6223) and as a result some code in the health_quest module has been flagged:

Confidence: Medium
Category: Mass Assignment
Check: MassAssignment
Message: Specify exact keys allowed for mass assignment instead of using `permit!` which allows any keys
Code: params.require(:questionnaireResponse).permit!
File: modules/health_quest/app/controllers/health_quest/v0/questionnaire_manager_controller.rb
Line: 21

Confidence: Medium
Category: Mass Assignment
Check: MassAssignment
Message: Specify exact keys allowed for mass assignment instead of using `permit!` which allows any keys
Code: params.require(:questionnaire_response).permit!
File: modules/health_quest/app/controllers/health_quest/v0/questionnaire_responses_controller.rb
Line: 21

Could you take a look at this and let me know if there is a specific reason you are using permit! and if we can change this to allow for exact keys? Thanks!

@dillo
Copy link
Contributor

dillo commented Mar 23, 2021

@rileyanderson The reason for using permit! is because there is no ActiveRecord or a database behind this endpoint call in the vets-api. However, in the interest of keeping it clean and adhering to security conventions, we will be permitting exact keys in the next sprint or two.

@jeff2d2 jeff2d2 closed this as completed May 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tools-be Used for the backend tools team
Projects
None yet
Development

No branches or pull requests

5 participants