From 0801c7d191a4878dbeaffe0b551040019911c2bb Mon Sep 17 00:00:00 2001 From: Thomas von Deyen Date: Sun, 4 Jan 2026 15:48:17 +0100 Subject: [PATCH 1/3] CI: Setup database services We need this to test the various database adapters, as compoiste actions do not support starting services. Ignoring mysql/mariadb builds for Rails 8.0 because of https://github.com/rails/rails/issues/53673, which has not been backported to Rails 8.0 yet. --- .github/workflows/test.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8f471185..0e720ea1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,6 +19,29 @@ jobs: rspec: name: Solidus ${{ matrix.solidus-branch }}, Rails ${{ matrix.rails-version }} and Ruby ${{ matrix.ruby-version }} on ${{ matrix.database }} runs-on: ubuntu-24.04 + services: + postgres: + image: postgres:16 + env: + POSTGRES_HOST_AUTH_METHOD: trust + options: >- + --health-cmd="pg_isready" + --health-interval=10s + --health-timeout=5s + --health-retries=5 + ports: + - 5432:5432 + mysql: + image: mysql:8 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: "yes" + options: >- + --health-cmd="mysqladmin ping" + --health-interval=10s + --health-timeout=5s + --health-retries=5 + ports: + - 3306:3306 strategy: fail-fast: false matrix: @@ -43,6 +66,8 @@ jobs: ruby-version: "3.1" - solidus-branch: "v4.4" rails-version: "8.0" + - database: "mysql" # https://github.com/rails/rails/issues/53673 + rails-version: "8.0" env: TEST_RESULTS_PATH: coverage/coverage.xml CAPYBARA_JAVASCRIPT_DRIVER: selenium_headless From 5932e0c3ab080b13c643f885b283c0b944c6c803 Mon Sep 17 00:00:00 2001 From: Thomas von Deyen Date: Mon, 5 Jan 2026 10:34:59 +0100 Subject: [PATCH 2/3] fix(Gemfile): Make sure we install latest patch level of Rails Without this we are not sure that the latest patch level gets installed by bundler. --- Gemfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 22dbb571..b6ae6ad6 100644 --- a/Gemfile +++ b/Gemfile @@ -7,8 +7,8 @@ branch = ENV.fetch("SOLIDUS_BRANCH", "main") gem "solidus", github: "solidusio/solidus", branch: branch gem "solidus_backend", github: "solidusio/solidus", branch: branch -rails_requirement_string = ENV.fetch("RAILS_VERSION", "~> 7.0") -gem "rails", rails_requirement_string +rails_requirement_string = ENV.fetch("RAILS_VERSION", "7.0") +gem "rails", "~> #{rails_requirement_string}" # The solidus_frontend gem has been pulled out since v3.2 if branch >= "v3.2" From b0e101ace62a4eb396773be1cc1fb13d8e773a60 Mon Sep 17 00:00:00 2001 From: Thomas von Deyen Date: Mon, 5 Jan 2026 10:36:18 +0100 Subject: [PATCH 3/3] CI: Test Rails 8.0 and mysql again Now that we make sure bundler installs latest Rails patch levels we can hopefully test MySQL with Rails 8.0 again. --- .github/workflows/test.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0e720ea1..dab0950b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -66,8 +66,6 @@ jobs: ruby-version: "3.1" - solidus-branch: "v4.4" rails-version: "8.0" - - database: "mysql" # https://github.com/rails/rails/issues/53673 - rails-version: "8.0" env: TEST_RESULTS_PATH: coverage/coverage.xml CAPYBARA_JAVASCRIPT_DRIVER: selenium_headless