Skip to content

feat(raycilint): add GitHub Action workflow for PR size checks#438

Merged
aslonnie merged 1 commit into
mainfrom
andrew/revup/main/prcheck-action
Mar 3, 2026
Merged

feat(raycilint): add GitHub Action workflow for PR size checks#438
aslonnie merged 1 commit into
mainfrom
andrew/revup/main/prcheck-action

Conversation

@andrew-anyscale

@andrew-anyscale andrew-anyscale commented Feb 20, 2026

Copy link
Copy Markdown
Contributor

Adds a GitHub Actions workflow that runs rayci-lint prsize on pull requests and posts a sticky comment when thresholds are exceeded. The job fails unless the PR has a configurable skip label (default: skip-prcheck).

Topic: prcheck-action
Relative: prcheck-binary
Signed-off-by: andrew andrew@anyscale.com

@andrew-anyscale

andrew-anyscale commented Feb 20, 2026

Copy link
Copy Markdown
Contributor Author

Reviews in this chain:
#438 feat(raycilint): add GitHub Action workflow for PR size checks
 └#446 dnm: triggering file length audit

@andrew-anyscale

andrew-anyscale commented Feb 20, 2026

Copy link
Copy Markdown
Contributor Author
# head base diff date summary
0 aee1852e 44d61617 diff Feb 20 13:29 PM 3 files changed, 93 insertions(+)
1 3d404b79 b98b06da rebase Feb 20 13:39 PM 0 files changed
2 ae60a6ae 2bf584bf rebase Feb 20 13:44 PM 0 files changed
3 f2915a47 7dc82aa5 rebase Feb 20 13:47 PM 0 files changed
4 7621af7c f6cb8b68 diff Feb 20 14:21 PM 1 file changed, 8 insertions(+), 3 deletions(-)
5 de1b0f09 f6cb8b68 diff Feb 20 14:21 PM 0 files changed
6 c6f1008b fc302623 diff Feb 20 14:29 PM 1 file changed, 5 insertions(+), 3 deletions(-)
7 64a993a1 aeccf773 diff Feb 20 14:32 PM 1 file changed, 2 insertions(+), 2 deletions(-)
8 fbfd2587 aeccf773 diff Feb 20 14:38 PM 1 file changed, 17 insertions(+), 14 deletions(-)
9 5c208eb5 aeccf773 diff Feb 20 14:45 PM 1 file changed, 8 insertions(+), 10 deletions(-)
10 4a44f564 aeccf773 diff Feb 20 14:46 PM 1 file changed, 1 insertion(+), 1 deletion(-)
11 416850e2 cf450594 rebase Feb 20 14:53 PM 0 files changed
12 8ade3db8 56533db0 diff Feb 20 14:54 PM 0 files changed
13 bf13bee4 56533db0 diff Feb 20 15:02 PM 1 file changed, 6 insertions(+), 1 deletion(-)
14 95cfc162 56533db0 diff Feb 20 15:05 PM 1 file changed, 2 insertions(+), 2 deletions(-)
15 4778ca5a 30677cb5 diff Feb 24 15:10 PM 4 files changed, 13 insertions(+), 13 deletions(-)
16 033d8a2d 8b0bf938 rebase Feb 24 15:15 PM 0 files changed
17 d2fcd412 b7b724bb diff Feb 24 18:05 PM 0 files changed
18 21d20ed0 3583125c rebase Feb 24 18:12 PM 0 files changed
19 d2a1859a 97c94e0c rebase Feb 24 18:30 PM 0 files changed
20 ced03003 ef6039e2 rebase Feb 25 7:47 AM 0 files changed
21 d23e198f dad51d62 rebase Feb 25 8:02 AM 0 files changed
22 31823b15 267c2b99 rebase Feb 25 8:40 AM 0 files changed
23 6f876fac ac6a59f4 rebase Feb 25 8:40 AM 0 files changed
24 6e7dcb54 760b7707 rebase Feb 25 8:49 AM 0 files changed
25 5f4d8108 cfca3753 rebase Feb 25 8:53 AM 0 files changed
26 dde57f55 19bb22d3 rebase Feb 25 8:56 AM 0 files changed
27 6749ba68 ec9cb7bd rebase Feb 25 16:17 PM 0 files changed
28 41899a7f 0ece8e21 rebase Feb 25 16:23 PM 0 files changed
29 d1c7b8ed 3995d9a5 rebase Feb 25 16:43 PM 0 files changed
30 d738dfec 539adaad rebase Feb 25 16:46 PM 0 files changed
31 cad47aaa f7ecc844 rebase Feb 25 16:47 PM 0 files changed
32 f46e7fd2 7876d077 diff Feb 25 17:04 PM 1 file changed, 32 deletions(-)
33 845592a0 0fee6caa rebase Feb 25 19:02 PM 0 files changed
34 dc0586dd dbf0e541 rebase Feb 25 19:40 PM 0 files changed
35 46e64cd4 dc122551 diff Mar 2 7:35 AM 1 file changed, 17 insertions(+), 4 deletions(-)

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @andrew-anyscale, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a new automated system for managing pull request sizes. By integrating prcheck into a GitHub Actions workflow, it ensures that changes adhere to predefined line limits, promoting smaller, more reviewable pull requests. This helps maintain code quality and streamlines the review process, with an option to bypass checks for specific cases.

Highlights

  • New GitHub Actions Workflow: A new GitHub Actions workflow has been added to automatically perform pull request size checks using the prcheck tool.
  • PR Size Enforcement: The workflow enforces configurable size thresholds, with default limits set to 500 maximum additions and 2000 maximum deletions.
  • Conditional Job Failure: The PR check job will fail if the size thresholds are exceeded, unless the pull request is labeled with skip-prcheck.
  • Prcheck Binary Management: A new run_prcheck.sh script is introduced to handle downloading the prcheck binary from releases or building it from source as a fallback.
  • Default Policy Configuration: A prcheck-policy.yaml file has been added to define the initial default size policy for the prcheck tool.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .buildkite/prcheck-policy.yaml
    • Added a new policy file to define default maximum line additions (500) and deletions (2000) for PR size checks.
  • run_prcheck.sh
    • Added a new executable shell script responsible for downloading the prcheck binary from GitHub releases based on .rayciversion.
    • Included a fallback mechanism to build the prcheck tool from source using Go if the binary download path is not available.
    • Configured the script to execute the prcheck tool with any provided arguments.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/prcheck.yaml
Activity
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request introduces a GitHub Actions workflow for PR size checks using prcheck. It includes a new prcheck-policy.yaml with default size thresholds and a run_prcheck.sh script to handle binary installation or building from source. The changes are well-structured and address the stated objective. I've identified a few areas for improvement regarding error handling and clarity in the run_prcheck.sh script.

Comment thread run_prcheck.sh Outdated
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from 44d6161 to b98b06d Compare February 20, 2026 21:39
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from aee1852 to 3d404b7 Compare February 20, 2026 21:39
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from b98b06d to 2bf584b Compare February 20, 2026 21:44
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch 2 times, most recently from ae60a6a to f2915a4 Compare February 20, 2026 21:47
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from 2bf584b to 7dc82aa Compare February 20, 2026 21:47
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from f2915a4 to 7621af7 Compare February 20, 2026 22:21
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from 7dc82aa to f6cb8b6 Compare February 20, 2026 22:21
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from 7621af7 to de1b0f0 Compare February 20, 2026 22:22
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from f6cb8b6 to fc30262 Compare February 20, 2026 22:29
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from de1b0f0 to c6f1008 Compare February 20, 2026 22:29
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from fc30262 to aeccf77 Compare February 20, 2026 22:32
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch 4 times, most recently from 5c208eb to 4a44f56 Compare February 20, 2026 22:46
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from aeccf77 to cf45059 Compare February 20, 2026 22:53
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from 4a44f56 to 416850e Compare February 20, 2026 22:53
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from cf45059 to 56533db Compare February 20, 2026 22:54
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from 416850e to 8ade3db Compare February 20, 2026 22:54
@andrew-anyscale andrew-anyscale marked this pull request as ready for review February 20, 2026 22:54
Comment on lines +31 to +34
- uses: actions/setup-go@v5
if: steps.check.outputs.run
with:
go-version-file: go.mod

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For other repos, we will instead just fetch as--

      #  Example of how we run this in other repos.
- name: Download prcheck
   run: |
    set -euo pipefail
    version="$(cat .rayciversion)"
    url="https://github.com/ray-project/rayci/releases/download/v${version}/prcheck-linux-amd64"
    curl -fsSL "$url" -o prcheck && chmod +x prcheck

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you leave this in as step with maybe if: ${{ false }} (not 100% sure if the syntax will be correct..) and with a comment on how to enable it?

@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from 8ade3db to bf13bee Compare February 20, 2026 23:03
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from ac6a59f to 760b770 Compare February 25, 2026 16:49
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from 6f876fa to 6e7dcb5 Compare February 25, 2026 16:49
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from 760b770 to cfca375 Compare February 25, 2026 16:53
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch 2 times, most recently from 5f4d810 to dde57f5 Compare February 25, 2026 16:56
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch 2 times, most recently from 19bb22d to ec9cb7b Compare February 26, 2026 00:17
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch 2 times, most recently from 6749ba6 to 41899a7 Compare February 26, 2026 00:24
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from ec9cb7b to 0ece8e2 Compare February 26, 2026 00:24
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from 41899a7 to d1c7b8e Compare February 26, 2026 00:43
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from 0ece8e2 to 3995d9a Compare February 26, 2026 00:43
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from d1c7b8e to d738dfe Compare February 26, 2026 00:46
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch 2 times, most recently from 539adaa to f7ecc84 Compare February 26, 2026 00:47
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from d738dfe to cad47aa Compare February 26, 2026 00:47
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from f7ecc84 to 7876d07 Compare February 26, 2026 01:04
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from cad47aa to f46e7fd Compare February 26, 2026 01:04
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from 7876d07 to 0fee6ca Compare February 26, 2026 03:02
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from f46e7fd to 845592a Compare February 26, 2026 03:02
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-binary branch from 0fee6ca to dbf0e54 Compare February 26, 2026 03:40
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from 845592a to dc0586d Compare February 26, 2026 03:40
Base automatically changed from andrew/revup/main/prcheck-binary to main February 28, 2026 03:51
Comment on lines +31 to +34
- uses: actions/setup-go@v5
if: steps.check.outputs.run
with:
go-version-file: go.mod

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you leave this in as step with maybe if: ${{ false }} (not 100% sure if the syntax will be correct..) and with a comment on how to enable it?

Comment thread .github/workflows/prcheck.yaml Outdated
BASE_REF: ${{ github.event.pull_request.base.ref }}
HEAD_REF: ${{ github.event.pull_request.head.ref }}
run: >-
go run ./raycilint/raycilint -config-file "$CONFIG_PATH" prsize

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use binary if the binary has downloaded and exists?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Adds a GitHub Actions workflow that runs rayci-lint prsize on pull requests and posts a sticky comment when thresholds are exceeded. The job fails unless the PR has a configurable skip label (default: skip-prcheck).

Topic: prcheck-action
Relative: prcheck-binary
Signed-off-by: andrew <andrew@anyscale.com>
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/main/prcheck-action branch from a0bd1be to 46e64cd Compare March 2, 2026 15:35
@aslonnie

aslonnie commented Mar 3, 2026

Copy link
Copy Markdown
Collaborator

let's roll it~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants