Skip to content

Ap 587 update dependencies#21

Merged
davezuckerman merged 2 commits intomainfrom
AP-587-update-dependencies
Mar 3, 2026
Merged

Ap 587 update dependencies#21
davezuckerman merged 2 commits intomainfrom
AP-587-update-dependencies

Conversation

@davezuckerman
Copy link
Contributor

@davezuckerman davezuckerman commented Feb 25, 2026

I ran into issues with the build. It was running out of memory during the tests so I had to rework the test section of build.yml. I'm not sure why this is using so much memory though. Any thoughts? This currently builds but it won't using the previous build.yml

Copy link
Member

@awilfox awilfox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some things to review and fix (see inline comments), but overall this looks good.

I have a few general/overview questions as well:

  • Was bundle exec rails app:update run? The lack of changes in config/ surprises me.

    Unfortunately, that is usually the most time-consuming part of updating Rails apps when I was doing it. The format/style doesn't match ours at all, so you need to use d (diff) and apply the relevant changes manually.

  • For the memory issues seen in CI, I'm wondering if adding this to config/application.rb would fix it:

    config.yjit = false

    If it does, I would hazard that we could be more specific; perhaps putting it behind if ENV['CI'] or in config/environments/test.rb. Still worth a try to see if it fixes it, though.

  • Do we want to mix the Twitter removal ticket with the dependency updates?

Copy link
Member

@awilfox awilfox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Glad to see rails app:update wasn't quite the heavy diff I feared it could be. There's a few things we should discuss before merging.

@davezuckerman davezuckerman marked this pull request as ready for review March 2, 2026 16:45
@davezuckerman davezuckerman requested a review from awilfox March 2, 2026 20:29
Copy link
Member

@anarchivist anarchivist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in general, i think this looks good, but i'm a little concerned about the changes to the build and i'm not sure how far we've gone into investigating the cause.

Copy link
Member

@awilfox awilfox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're getting there! Rails upgrades can be a pain, and I really appreciate all the work you've been doing.

There's a few minor nits that I have found (around formatting and comments), and then the existing review feedback that maría and I have left that isn't marked resolved.

This is still shaping up very nicely, I'd say.

Copy link
Member

@awilfox awilfox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left inline comments on converting the SECRET_KEY_BASE to a Docker secret so that can be tested properly. Otherwise, this is really looking good!

Copy link
Member

@awilfox awilfox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After the params.expect question is resolved, this is great. Great job getting this all updated! r+

@anarchivist anarchivist self-requested a review March 3, 2026 18:28
Copy link
Member

@anarchivist anarchivist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r+, agreed with @awilfox. looks like there's a merge conflict to resolve too. once those two items are done this is good to go.

@davezuckerman
Copy link
Contributor Author

What's the decision on params.require vs. params.expect? That was triggered by rubocop. It appears that the way it is now (with params.expect) it was still allow empty values but checks that the structure is as expected.

I can disable the rubocop check but it looks like params.expect is the better option to me in this case unless I'm missing something.

https://medium.com/jungletronics/rails-8-understanding-params-expect-19c4585d1a1c

@awilfox
Copy link
Member

awilfox commented Mar 3, 2026

It looks like you're right; expect only requires top-level keys, and simply permits sub-keys while validating the structure. Thanks for investigating! That looks good to me.

David Zuckerman and others added 2 commits March 3, 2026 11:57
dependency updates

Pagy uses pagy.limit now for number of items on page

updating depencies, moving to rails 8.0.4, ruby 3.4 and pagy 43

increased memory for tests

increased memomory for app for tests, only run tests if setup succeeds

changed based url for IIF server, removed memory allocation for compose.ci

using selenium stand alone chrome, broke out steps in build.yml for precompile and db:prepare

bringin up selenium after assets are precompiled, lowering the reserved memory for selenium

bypassing yarn build -watch in ci since assets are precompiled in a different step

only start selenium before rspec needs it

bringing up compose without dependencies so sellenium doesn't start up early

running precompile as a standalone. hope this fixes memory issue when building during test

using dummy key_base for precompile

for rspec need to have iipsrv, app and selenium running

for rspec need to have iipsrv, app and selenium running

need bundle exec when calling rspec and rubocop

full rails server not needed for tests, using slimmed down version for tests

running system tests as stand alone

adding sleep infinity to docker-compose.ci, hopefully fixes memory issue running tests

refactored do_profile in application_controller

Added omniauth-rails_csrf_protection gem and updated omniauth intializer for post only

removed commented out code, set config.yjit false and removed sleep infity from compose.ci

ran rails app:update and made necessary changes to accommodate the update to rails 8

added sleep infinity back in to compose.ci, tests failing in build without it

changed unauthorized user redirect so it goes to a page instead of directly to calnet

removed some Gem dependencies, changed a comment in puma config, added static page instead of direct redirect to CAS

fixed a fex minor styling issues in specs

removed autoload of lib/assets as we dont' use that directory

set rubocop and rspec to always run, removed commented sections out of docker-compose, remove unused logger setting for production, removed redundant to_s in borrower_toker.rb

reverting build.yml to 1.7.9 release version, removed sleep infinity from compose.ci

Added dummy secret for build.yml

starting rails server in compose.ci so it doesn't run yarn build

removed an outdated comments, some formatting changes in specs, put back in the build steps to handle memory issues

added newline to end of spec

fixed rubocopy formatting error

using 3.3 instead of 3.4, changes for chrome driver settings, spec

Added --add-platform x86_64-linux to Gemfile.lock

Accounting for secret key base in build

having docker image generate rails secret for SECRET_KEY_BASE

Update .github/workflows/build.yml

Co-authored-by: Anna Wilcox <AWilcox@Wilcox-Tech.com>

Update docker-compose.ci.yml

Co-authored-by: Anna Wilcox <AWilcox@Wilcox-Tech.com>

Update docker-compose.ci.yml

Co-authored-by: Anna Wilcox <AWilcox@Wilcox-Tech.com>
@davezuckerman davezuckerman force-pushed the AP-587-update-dependencies branch from 2defcb2 to 80b44aa Compare March 3, 2026 20:52
@davezuckerman davezuckerman merged commit c93d531 into main Mar 3, 2026
7 checks passed
@davezuckerman davezuckerman deleted the AP-587-update-dependencies branch March 3, 2026 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants