Skip to content

Libappport 81 upgrade ruby to 3 4 7#410

Open
Janell-Huyck wants to merge 7 commits intoqafrom
LIBAPPPORT-81-upgrade-ruby-to-3-4-7
Open

Libappport 81 upgrade ruby to 3 4 7#410
Janell-Huyck wants to merge 7 commits intoqafrom
LIBAPPPORT-81-upgrade-ruby-to-3-4-7

Conversation

@Janell-Huyck
Copy link
Contributor

Upgrade Ruby to 3.4.7 (LIBAPPPORT-81)

Summary

Upgrades the application from Ruby 3.3.9 to Ruby 3.4.7, updates CI to use the new version, fixes a script so test output is clean, and corrects .gitignore so SQLite DB files are actually ignored.

Changes

Ruby 3.4.7

  • .ruby-version — Set to 3.4.7 (drives rbenv and deploy script).
  • Gemfileruby '3.4.7'; updated comment for net-* gems to "Required for Ruby 3.x stdlib (extracted from default gems)".
  • Gemfile.lock — Regenerated for Ruby 3.4.7 (and dependency resolution).

CI

  • .github/workflows/main.yml — Ruby 3.4.7; pinned actions: actions/checkout@v4, ruby/setup-ruby@v1.200.0, coverallsapp/github-action@v2.3.7.
  • .circleci/config.yml — Image updated to cimg/ruby:3.4.7-browsers.

Code

  • load_records.rb — Wrapped the CLI dispatch (ARGV/case block) in if __FILE__ == $PROGRAM_NAME so it only runs when the file is executed as a script. This stops the "Invalid arguments..." message from printing when the file is required by spec/load_records_spec.rb during bundle exec rspec.

Docs

  • README.md — Ruby version section updated from 3.3.3 to 3.4.7.
  • CHANGELOG.md — Added 1.7.1 (2/13/2026) with "Updates Ruby to 3.4.7".

Other

  • .gitignore — Fixed SQLite ignore patterns: use db/*.sqlite3, db/*.sqlite3-wal, db/*.sqlite3-shm (no leading slash) so db/test.sqlite3 and related files are actually ignored and no longer show as untracked.

Deploy note

Capistrano runs scripts/check_ruby.sh, which reads .ruby-version. After merge, ensure Ruby 3.4.7 is available on QA/production (e.g. rbenv install 3.4.7; update ruby-build if needed).

Testing

  • bundle install succeeds on Ruby 3.4.7
  • bundle exec rubocop passes
  • bundle exec rspec passes (no "Invalid arguments..." in output)

Jira

LIBAPPPORT-81

Janell-Huyck and others added 2 commits February 13, 2026 14:25
- Set Ruby 3.4.7 in .ruby-version, Gemfile, GitHub Actions, and CircleCI
- Update GitHub Actions: checkout@v4, setup-ruby@v1.200.0, coveralls@v2.3.7
- Fix load_records.rb: run CLI only when executed as script (prevents
  'Invalid arguments' output when required by specs)
- Update README and CHANGELOG (1.7.1)

Co-authored-by: Cursor <cursoragent@cursor.com>
Use patterns without leading slash (db/*.sqlite3, etc.) so Git
correctly ignores SQLite DB and WAL/shm files; they were showing
as untracked with the previous /db/* patterns.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Janell-Huyck Janell-Huyck changed the title Libappport 81 upgrade ruby to 3 4 7 WIP Libappport 81 upgrade ruby to 3 4 7 Feb 13, 2026
Janell-Huyck and others added 4 commits February 13, 2026 14:37
GitHub Actions does not yet list 3.4.7 on ubuntu-24.04; use ubuntu-22.04
and the latest setup-ruby@v1 so the action can install Ruby 3.4.7.

Co-authored-by: Cursor <cursoragent@cursor.com>
The ignored warning referred to end-of-life Rails 6.1.7.10 in Gemfile.lock.
App now uses Rails 7.2, so the finding no longer exists and the ignore
was obsolete.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add feature specs for create path (all 5 seed options: srecords, vrecords, stypes, status, hosting_env)
- Simplify controller spec to GET #new and POST #create rescue path only
- Add spec/fixtures/files/software_records.csv for upload tests
- Enable branch coverage in SimpleCov (spec_helper)

Co-authored-by: Cursor <cursoragent@cursor.com>
- Controller spec: assert page title via response.body instead of $page_title
- Feature spec: stub system on FileUploadsController so load_records.rb is not run

Co-authored-by: Cursor <cursoragent@cursor.com>
@Janell-Huyck Janell-Huyck changed the title WIP Libappport 81 upgrade ruby to 3 4 7 Libappport 81 upgrade ruby to 3 4 7 Feb 13, 2026
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments