From 3b0078cf561878d71cdcf7d8ceffdf2c0a434fb7 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Wed, 19 Nov 2025 17:35:16 -1000 Subject: [PATCH 1/3] Add /run-skipped-tests as alias for /run-skipped-ci command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change adds /run-skipped-tests as a shorter, more intuitive alias for the /run-skipped-ci GitHub PR comment command. Changes: - Updated run-skipped-ci.yml to accept both /run-skipped-ci and /run-skipped-tests - Updated detect-invalid-ci-commands.yml to recognize /run-skipped-tests as valid - Updated help message to document the alias This fixes the issue where /run-skipped-tests would not trigger any response, when users expected it to either work or show help. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .github/workflows/detect-invalid-ci-commands.yml | 7 +++++-- .github/workflows/run-skipped-ci.yml | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/detect-invalid-ci-commands.yml b/.github/workflows/detect-invalid-ci-commands.yml index a9379b1023..a1c1f88db0 100644 --- a/.github/workflows/detect-invalid-ci-commands.yml +++ b/.github/workflows/detect-invalid-ci-commands.yml @@ -18,6 +18,7 @@ jobs: contains(github.event.comment.body, '/help') ) && !contains(github.event.comment.body, '/run-skipped-ci') && + !contains(github.event.comment.body, '/run-skipped-tests') && !contains(github.event.comment.body, '/stop-run-skipped-ci') runs-on: ubuntu-22.04 permissions: @@ -42,7 +43,7 @@ jobs: } // Valid commands - const validCommands = ['/run-skipped-ci', '/stop-run-skipped-ci']; + const validCommands = ['/run-skipped-ci', '/run-skipped-tests', '/stop-run-skipped-ci']; // Check if any command is invalid const invalidCommands = matches @@ -78,7 +79,7 @@ jobs: ## Available GitHub Comment Commands - ### 1. \\\`/run-skipped-ci\\\` - Enable Full CI Mode + ### 1. \\\`/run-skipped-ci\\\` (or \\\`/run-skipped-tests\\\`) - Enable Full CI Mode Triggers all CI workflows that were skipped due to unchanged code. **What it does:** @@ -93,6 +94,8 @@ jobs: **Example:** \\\`\\\`\\\` /run-skipped-ci + # or use the shorter alias: + /run-skipped-tests \\\`\\\`\\\` --- diff --git a/.github/workflows/run-skipped-ci.yml b/.github/workflows/run-skipped-ci.yml index 685b6c29fc..419c44e1e2 100644 --- a/.github/workflows/run-skipped-ci.yml +++ b/.github/workflows/run-skipped-ci.yml @@ -16,7 +16,9 @@ jobs: github.event.issue.pull_request && ( startsWith(github.event.comment.body, '/run-skipped-ci') || - contains(github.event.comment.body, '\n/run-skipped-ci') + contains(github.event.comment.body, '\n/run-skipped-ci') || + startsWith(github.event.comment.body, '/run-skipped-tests') || + contains(github.event.comment.body, '\n/run-skipped-tests') ) runs-on: ubuntu-22.04 permissions: From 4f1d8a80ad397681bd6a173d25e387e7cbbb06ae Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Wed, 19 Nov 2025 17:39:18 -1000 Subject: [PATCH 2/3] Fix workflow filenames in run-skipped-ci workflow map MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The workflow map had incorrect filenames that don't exist: - 'main.yml' -> should be 'integration-tests.yml' - 'pro-package-tests.yml' -> should be 'pro-test-package-and-gem.yml' This was causing workflow_dispatch to fail with "Workflow does not have 'workflow_dispatch' trigger" errors because it couldn't find the files. Also added 'Rspec test for gem' (gem-tests.yml) to the map for completeness. All workflows in the map have been verified to have workflow_dispatch triggers. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .github/workflows/run-skipped-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-skipped-ci.yml b/.github/workflows/run-skipped-ci.yml index 419c44e1e2..31878e52c3 100644 --- a/.github/workflows/run-skipped-ci.yml +++ b/.github/workflows/run-skipped-ci.yml @@ -116,10 +116,11 @@ jobs: // Map workflow names to workflow files const workflowMap = { - 'Main test': 'main.yml', + 'Integration Tests': 'integration-tests.yml', + 'Rspec test for gem': 'gem-tests.yml', 'Generator tests': 'examples.yml', 'React on Rails Pro - Integration Tests': 'pro-integration-tests.yml', - 'React on Rails Pro - Package Tests': 'pro-package-tests.yml', + 'React on Rails Pro - Package Tests': 'pro-test-package-and-gem.yml', 'React on Rails Pro - Lint': 'pro-lint.yml' }; From fc86eabdaaecc1e0f612a0d250301887673c72a5 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Wed, 19 Nov 2025 17:43:59 -1000 Subject: [PATCH 3/3] Update documentation for /run-skipped-tests alias MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated all references to /run-skipped-ci in documentation to mention the new /run-skipped-tests alias: - CONTRIBUTING.md: Updated command header and example - .github/read-me.md: Updated 6 references throughout the file - Command header - When to use section - Security section - Concurrency section - Utility workflows list - Conditional execution section This ensures users can discover and use either command interchangeably. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .github/read-me.md | 14 ++++++++------ CONTRIBUTING.md | 4 +++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/read-me.md b/.github/read-me.md index f4ad4dc423..36d77eefc6 100644 --- a/.github/read-me.md +++ b/.github/read-me.md @@ -4,12 +4,14 @@ This directory contains GitHub Actions workflows for continuous integration and ## PR Comment Commands -### `/run-skipped-ci` - Run Full CI Suite +### `/run-skipped-ci` (or `/run-skipped-tests`) - Run Full CI Suite When you open a PR, CI automatically runs a subset of tests for faster feedback (latest Ruby/Node versions only). To run the **complete CI suite** including all dependency combinations, add a comment to your PR: ``` /run-skipped-ci +# or use the shorter alias: +/run-skipped-tests ``` This command will trigger: @@ -33,7 +35,7 @@ By default, PRs run a subset of CI jobs to provide fast feedback: - Skips example generator tests - Skips some Pro package tests -This is intentional to keep PR feedback loops fast. However, before merging, you should verify compatibility across all supported versions. The `/run-skipped-ci` command makes this easy without waiting for the PR to be merged to master. +This is intentional to keep PR feedback loops fast. However, before merging, you should verify compatibility across all supported versions. The `/run-skipped-ci` (or `/run-skipped-tests`) command makes this easy without waiting for the PR to be merged to master. ### Security & Access Control @@ -43,11 +45,11 @@ This is intentional to keep PR feedback loops fast. However, before merging, you - Unauthorized access to Pro package tests - Potential DoS attacks via repeated CI runs -If an unauthorized user attempts to use `/run-skipped-ci`, they'll receive a message explaining the restriction. +If an unauthorized user attempts to use `/run-skipped-ci` or `/run-skipped-tests`, they'll receive a message explaining the restriction. ### Concurrency Protection -Multiple `/run-skipped-ci` comments on the same PR will cancel in-progress runs to prevent resource waste and duplicate results. +Multiple `/run-skipped-ci` or `/run-skipped-tests` comments on the same PR will cancel in-progress runs to prevent resource waste and duplicate results. ## Testing Comment-Triggered Workflows @@ -82,7 +84,7 @@ For more details, see [GitHub's documentation on issue_comment events](https://d ### Utility Workflows -- **`run-skipped-ci.yml`** - Triggered by `/run-skipped-ci` comment on PRs +- **`run-skipped-ci.yml`** - Triggered by `/run-skipped-ci` or `/run-skipped-tests` comment on PRs - **`pr-welcome-comment.yml`** - Auto-comments on new PRs with helpful info - **`detect-changes.yml`** - Detects which parts of the codebase changed @@ -109,6 +111,6 @@ Many workflows use change detection to skip unnecessary jobs: - Runs all jobs on pushes to `master` - Runs only relevant jobs on PRs based on changed files -- Can be overridden with `workflow_dispatch` or `/run-skipped-ci` command +- Can be overridden with `workflow_dispatch` or `/run-skipped-ci` (or `/run-skipped-tests`) command See `script/ci-changes-detector` for the change detection logic. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0758f399d7..52e3ced8f4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -426,12 +426,14 @@ For more details, see [`docs/CI_OPTIMIZATION.md`](./docs/CI_OPTIMIZATION.md). React on Rails provides PR comment commands to control CI behavior: -#### `/run-skipped-ci` - Enable Full CI Mode +#### `/run-skipped-ci` (or `/run-skipped-tests`) - Enable Full CI Mode Runs all skipped CI checks and enables full CI mode for the PR: ``` /run-skipped-ci +# or use the shorter alias: +/run-skipped-tests ``` **What it does:**