From 98785afb24ec0f785fafdf13634a94681308858f Mon Sep 17 00:00:00 2001 From: Teo Ljungberg Date: Mon, 19 Jan 2026 13:06:38 +0100 Subject: [PATCH 1/2] Minimize CI matrix to earliest and latest versions - Ruby: 3.2 and 4.0 (was 3.2, 3.3, 3.4, 4.0) - Rails: 7.2 and 8.1 (was 7.2, 8.0, 8.1) - Add RAILS_VERSION env var to dynamically set Rails version - Update actions/checkout from v3 to v6 Reduces CI runs from 12 to 4 while still testing boundary versions. --- .github/workflows/ci.yml | 7 ++++--- Gemfile | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 30ecab0..f7ec8c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,8 +14,8 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.2", "3.3", "3.4", "4.0"] - rails: ["7.2", "8.0", "8.1"] + ruby: ["3.2", "4.0"] + rails: ["7.2", "8.1"] services: postgres: @@ -34,9 +34,10 @@ jobs: env: POSTGRES_USER: postgres + RAILS_VERSION: ${{ matrix.rails }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Set up Ruby uses: ruby/setup-ruby@v1 diff --git a/Gemfile b/Gemfile index b2e291a..8ff045a 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,12 @@ source "https://rubygems.org" +rails_version = ENV.fetch("RAILS_VERSION", "8.1") + gemspec +gem "activerecord", "~> #{rails_version}.0" +gem "railties", "~> #{rails_version}.0" + gem "bundler", ">= 1.5" gem "pg" gem "pry" From e9b59b52b71c351c47da260a9a167b5a87a51550 Mon Sep 17 00:00:00 2001 From: Teo Ljungberg Date: Mon, 19 Jan 2026 13:09:53 +0100 Subject: [PATCH 2/2] Document Ruby and Rails version support policy --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index dc388b5..3529bbe 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,22 @@ column value instead of a plain string. - [Oracle](https://github.com/zygotecnologia/fx-oracle-adapter) - [SQLserver](https://github.com/tarellel/fx-sqlserver-adapter) +## Version Support + +F(x) follows the maintenance policies of Ruby and Rails, supporting versions +within their official maintenance windows. + +**Ruby:** 3.2+ ([maintenance branches]) + +**Rails:** 7.2, 8.0, 8.1 ([maintenance policy]) + +When a Ruby or Rails version reaches end-of-life, support will be dropped in the +next minor release of F(x). Older versions may continue to work but are not +tested or guaranteed. + +[maintenance branches]: https://www.ruby-lang.org/en/downloads/branches/ +[maintenance policy]: https://rubyonrails.org/maintenance + ## Contributing See [contributing](CONTRIBUTING.md) for more details.