From 29f114df533e586285e230b986bc6abd69a5f9f8 Mon Sep 17 00:00:00 2001 From: Shinji Nakamatsu <19329+snaka@users.noreply.github.com> Date: Sun, 27 Sep 2026 14:28:42 +0900 Subject: [PATCH 1/2] Build pull requests opened from forks The workflow only runs on push, so pull requests from forks never get CI results. Travis CI built them by default before the migration to GitHub Actions. Add the pull_request trigger, but skip it when the head branch lives in this repository: those branches are already built on push, so the matrix would otherwise run twice. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13c4fbba..b6b7471a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,9 +1,15 @@ name: split -on: [push] +on: + push: + pull_request: jobs: test: + # Branches in this repository are already built on push, so only build + # pull requests opened from forks to avoid running the matrix twice. + if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository + strategy: matrix: ruby: ["4.0", "3.4", "3.3", "3.2", "3.1"] From fae801e0f28dfc72c6bedfa47208dc3fad7ec054 Mon Sep 17 00:00:00 2001 From: Shinji Nakamatsu <19329+snaka@users.noreply.github.com> Date: Sun, 27 Sep 2026 14:28:43 +0900 Subject: [PATCH 2/2] Build main weekly Gemfile.lock is not committed, so a new dependency release can break the build while main stays unchanged. The json 3.0 release did exactly that: it broke the Rails 7.x jobs on main (see #766), but no push to main has happened since, so CI never showed it. Add a weekly scheduled run so such breakage shows up without waiting for the next push. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6b7471a..0dc132d2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,6 +3,10 @@ name: split on: push: pull_request: + schedule: + # Gemfile.lock is not committed, so new dependency releases can break the + # build without any change here. Build main weekly to catch that early. + - cron: "0 3 * * 1" jobs: test: