Skip to content

ci(pr-gate): run gate on every pull request - #431

Merged
buke merged 2 commits into
mainfrom
ci/pr-gate-choy-ui-kit-base
Sep 22, 2026
Merged

buke merged 2 commits into
mainfrom
ci/pr-gate-choy-ui-kit-base

Conversation

@buke

@buke buke commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

User description

Summary

Why

GitHub evaluates on.pull_request.branches against the PR base. #430 targets feat/choy-ui-kit, so with only main listed the workflow never starts.

Test plan

Summary by Sourcery

CI:

  • Run the PR Gate workflow for pull requests targeting the feat/choy-ui-kit integration branch in addition to main.

PR Type

Other


Description

  • Extend PR Gate pull_request.branches to feat/choy-ui-kit

  • GitHub matches base branch, so stacked PRs were ungated

  • No Go core or modules/ TypeScript code touched

  • No tests added; manual re-sync verification required


File Walkthrough

Relevant files
Configuration changes
pr-gate.yml
Run PR Gate for feat/choy-ui-kit base branch                         

.github/workflows/pr-gate.yml

+2/-0     

Summary by CodeRabbit

  • Chores
    • Pull request checks now run for changes targeting any branch.

Stacked kit PRs merge into the integration branch first; without this
base in the pull_request filter, PR Gate never starts (only main matched).

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Sorry @buke, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 18 hours and 16 minutes by commenting @sourcery-ai review. Upgrade to get a review now.

@sourcery-ai

sourcery-ai Bot commented Sep 22, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

The PR Gate workflow is configured to trigger for pull requests targeting both main and feat/choy-ui-kit, ensuring stacked Choy UI kit PRs receive the same checks.

File-Level Changes

Change Details Files
Extend pull-request branch targeting so the PR Gate workflow runs for stacked PRs based on the Choy UI kit integration branch.
  • Add feat/choy-ui-kit alongside main in the pull-request branch filters.
  • Document the stacked-PR integration path in the workflow configuration comment.
.github/workflows/pr-gate.yml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Essentials

Run ID: f637d5c7-97fc-4659-8d49-00b1608145d3

📥 Commits

Reviewing files that changed from the base of the PR and between 0c5d0a3 and 77b01f5.

📒 Files selected for processing (1)
  • .github/workflows/pr-gate.yml
💤 Files with no reviewable changes (1)
  • .github/workflows/pr-gate.yml

Included review availability: 0 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.


📝 Walkthrough

Walkthrough

The PR Gate workflow now runs for pull requests targeting any branch. The target-branch filter for main and feat/choy-ui-kit was removed.

Changes

PR Gate workflow

Layer / File(s) Summary
PR Gate target branch configuration
.github/workflows/pr-gate.yml
The pull_request trigger no longer restricts execution to specific target branches.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~2 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 77b01

PR Gate will cover pull requests targeting integration branches as well as main, with no current merge-blocking risk identified.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly and concisely describes the main change: running the PR Gate workflow for every pull request.
Description check ✅ Passed The description includes a summary, rationale, test plan, PR type, and file walkthrough. It is sufficiently complete, but it states that only feat/choy-ui-kit is added while the change summary indicat…
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

Drop the pull_request.branches allowlist so stacked PRs into integration
branches get the same discover-routed gate as PRs into main.
@buke buke changed the title ci(pr-gate): run gate on feat/choy-ui-kit PRs ci(pr-gate): run gate on every pull request Sep 22, 2026

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Sourcery assessment

Approved.

@github-actions

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
✅ No TODO sections
⚡ No major issues detected

@codecov

codecov Bot commented Sep 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@buke
buke merged commit 2f5217a into main Sep 22, 2026
49 checks passed
@buke
buke deleted the ci/pr-gate-choy-ui-kit-base branch September 22, 2026 07:52
buke added a commit that referenced this pull request Sep 22, 2026
* ci(pr-gate): also run on PRs targeting feat/choy-ui-kit

Stacked kit PRs merge into the integration branch first; without this
base in the pull_request filter, PR Gate never starts (only main matched).

* ci(pr-gate): run on every pull request base

Drop the pull_request.branches allowlist so stacked PRs into integration
branches get the same discover-routed gate as PRs into main.
buke added a commit that referenced this pull request Sep 22, 2026
* ci(pr-gate): also run on PRs targeting feat/choy-ui-kit

Stacked kit PRs merge into the integration branch first; without this
base in the pull_request filter, PR Gate never starts (only main matched).

* ci(pr-gate): run on every pull request base

Drop the pull_request.branches allowlist so stacked PRs into integration
branches get the same discover-routed gate as PRs into main.
buke added a commit that referenced this pull request Sep 22, 2026
* feat(choy_ui): scaffold isolation kit with Tailwind Go gate

Add installable choy_ui module (tokens, gallery shell, /web/__choy_gallery),
wire tailwind-go generate into web builds, and fold dialect/candidate hashes
into the web input digest so skip stays stable under the 500ms budget.

* chore(choy_ui): stop tracking Tailwind generated CSS

Keep choy-tailwind.generated.css as a web-build artifact only so class
churn does not pollute git; EnsureChoyTailwindCSS still writes it before bundle.

* chore: re-sync PR #430 to trigger PR Gate

* ci(pr-gate): run gate on every pull request (#431)

* ci(pr-gate): also run on PRs targeting feat/choy-ui-kit

Stacked kit PRs merge into the integration branch first; without this
base in the pull_request filter, PR Gate never starts (only main matched).

* ci(pr-gate): run on every pull request base

Drop the pull_request.branches allowlist so stacked PRs into integration
branches get the same discover-routed gate as PRs into main.

* fix(choy_ui): address PR #430 review on isolation and Tailwind scan

Drop multi-line TS/JS scanner leaks from generated CSS, scope gallery
theme/density to .choy-gallery-root, tighten digest/write/stat handling,
and keep route registration idempotent.

* fix(choy_ui): address PR suggestions and raise Tailwind patch coverage

Adopt Sync-before-rename atomic writes, rename the directory-theme test,
and assert theme-mapped utilities. Expand unit coverage so the PR1
Tailwind/digest/webBuilder hook patch lines are fully exercised.

* fix(choy_ui): scope Tailwind theme/utilities and harden generate checks

Propagate LoadCSS errors, emit ThemeCSS aliases with utilities, scope both
under .choy-gallery-root for isolation, and fail tests if preflight reset CSS
appears in the generated output.

* fix(choy_ui): harden CSS scoping and hit 100% Tailwind patch coverage

Scope nested @media utilities, split selectors only at top level, skip
quoted braces/comments, guard AppLayout, fail incomplete kits loudly, and
make chmod permission tests root-tolerant.

* fix(choy_ui): scope past bare at-rules and harden theme/tests

Copy block-less @-rules through before brace scanning, normalize all
:root/:host spellings, reuse the generated CSS name constant, rename the
shadowed setupApp param, and make chmod-based permission tests root-tolerant.

* fix(choy_ui): skip leading CSS comments and harden write-failure tests

Emit leading /* */ before selector scoping, force rename failure when the
generated CSS path is a directory, and warn when AppLayout is missing.

* fix(choy_ui): restore router if-parens and align Tailwind digest guards

Repair a Go-style if that broke typecheck, and mirror EnsureChoyTailwindCSS
path checks in TailwindInputDigest for non-dir web/ and dialect paths.

* test(choy_ui): cover Tailwind digest path guards and no-brace CSS

Exercise missing-dialect and permission-denied digest paths, plus selector
fragments without a block, so patch coverage on tailwind_generate.go is 100%.

* fix(choy_ui): scope unknown at-rules and spare functional :host

Default-scope nested selectors in unrecognized block at-rules while keeping
declaration bodies verbatim, and rebind only standalone :root/:host tokens.

* fix(choy_ui): scope tokens to gallery and tighten Tailwind digests

Move light tokens off :root onto .choy-gallery-root, exclude only the kit's
generated CSS from source walks, and include the tailwind-go module version
in the web input digest schema (v7).

* fix(choy_ui): quote-aware bare at-rules and cover digest version helper

Scan block-less @-rule terminators with quote/paren awareness, raise the
candidate length cap for long arbitrary utilities, and unit-test the
injectable tailwind-go version reader for 100% digest patch coverage.

* fix(choy_ui): match relative kit CSS paths and harden CSS helpers

Recognize root-relative choy_ui/web generated CSS in digest exclusion, close
temp files before cleanup on write failure, and skip commas inside selector
comments when splitting.

* fix(choy_ui): drop empty selectors and honor go.mod replaces

Omit empty slots from scoped selector lists, skip comments when finding
bare at-rule terminators, and prefer replace version/path for the
tailwind-go digest stamp.

* fix(choy_ui): rebind utility :root/:host and tighten dialect checks

Stamp replace as path@version, map bare :root/:host onto the gallery scope
in utility lists, error when theme.css is a directory, and add SPDX to
theme.css.

* fix(choy_ui): tighten :root/:host boundaries and log budget overruns

Reject identifier continuations when rebinding theme selectors, add SPDX
headers to tokens/policy CSS, and warn when Tailwind generation exceeds the
soft wall-clock budget.

* fix(choy_ui): reject empty Tailwind output and stamp engine in header

Refuse to write blank generated CSS, record the tailwind-go version in the
file header, and use t.Skip for permission probes that cannot run as root.

* test(choy_ui): cover Tailwind soft-budget warn path

Inject ensureChoyTailwindCSS so BuildCtx can exercise the over-budget Warn log without waiting on a slow generate.

* fix(choy_ui): align Tailwind scan extensions with digest sources

Scan .mts/.cts/.mjs/.cjs for class candidates, fail digest when theme.css
is a directory (same as Ensure), and assert engine bumps invalidate digests.

* fix(choy_ui): harden at-rule open-brace scan and digest helpers

Skip braces inside prelude comments/quotes when scoping nested utilities,
guard nil BuildInfo, and lock choy_ui_extra out of kit CSS exclusion.

* fix(choy_ui): tolerate vanished files during Tailwind candidate scan

Skip NotExist between WalkDir and ReadFile instead of aborting the build,
matching hashFile's missing-input behavior.
buke added a commit that referenced this pull request Oct 3, 2026
* chore: bump gorm.io/driver/postgres in the go-minor-patch group (#425)

Bumps the go-minor-patch group with 1 update: [gorm.io/driver/postgres](https://github.com/go-gorm/postgres).


Updates `gorm.io/driver/postgres` from 1.6.2 to 1.6.3
- [Commits](go-gorm/postgres@v1.6.2...v1.6.3)

---
updated-dependencies:
- dependency-name: gorm.io/driver/postgres
  dependency-version: 1.6.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Brian Wang <wangbuke@gmail.com>

* ci(pr-gate): run gate on every pull request (#431)

* ci(pr-gate): also run on PRs targeting feat/choy-ui-kit

Stacked kit PRs merge into the integration branch first; without this
base in the pull_request filter, PR Gate never starts (only main matched).

* ci(pr-gate): run on every pull request base

Drop the pull_request.branches allowlist so stacked PRs into integration
branches get the same discover-routed gate as PRs into main.

* fix(ci): harden PR-Agent /improve for large diffs (#436)

* fix(ci): harden PR-Agent /improve for large diffs

Cap max_model_tokens so /improve splits big PRs into chunks instead of one
call that finishes with empty content (finish_reason=length), and lower
reasoning_effort / suggestions-per-chunk to leave room for YAML output.

* fix(ci): drop no-op reasoning_effort for PR-Agent models

PR-Agent v0.45.0 only forwards reasoning_effort for allowlisted model ids
(e.g. gemini-2.5-flash), not gemini-3.8-flash / deepseek-v4-flash. Keep the
chunking and suggestions-per-chunk caps that actually fix empty /improve.

* chore: bump the-pr-agent/pr-agent in the github-actions group (#445)

Bumps the github-actions group with 1 update: [the-pr-agent/pr-agent](https://github.com/the-pr-agent/pr-agent).


Updates `the-pr-agent/pr-agent` from 0.45.0 to 0.46.0
- [Release notes](https://github.com/the-pr-agent/pr-agent/releases)
- [Changelog](https://github.com/The-PR-Agent/pr-agent/blob/main/CHANGELOG.md)
- [Commits](The-PR-Agent/pr-agent@v0.45.0...v0.46.0)

---
updated-dependencies:
- dependency-name: the-pr-agent/pr-agent
  dependency-version: 0.46.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: bump google.golang.org/grpc in the go-minor-patch group (#446)

Bumps the go-minor-patch group with 1 update: [google.golang.org/grpc](https://github.com/grpc/grpc-go).


Updates `google.golang.org/grpc` from 1.83.2 to 1.84.0
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.83.2...v1.84.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.84.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Brian Wang <wangbuke@gmail.com>

* feat(web): align auth and shell chrome with shadcn blocks

Keep emerald primary for CTAs only: links and Lucide inherit text color, cards use bg-card, search/sidebar drop primary outlines. Login/register compose Field/Input/Checkbox; the product header shows breadcrumbs instead of a second brand.

* fix(web): clear UA chrome and show checkbox/close icons

- Drop native button/input borders and use ring-3 focus without preflight.
- Paint checkbox checked state with utilities the engine actually emits.
- Stop table translate-y from applying to every checkbox.
- Replace text × closes with Lucide X; show the auth logo without a primary tile.

* style(web): use min-h-control and wrap-break-word utilities

- Replace min-h-[var(--choy-control-height)] with the height-control token.
- Prefer wrap-break-word over the equivalent break-words alias.

* fix(auth): stop terms links from toggling the checkbox

Links inside the associated label would bubble to the control; stop the click so Terms/Privacy do not flip agreeTerms.

* test(auth): cover AuthPanel brand navigation

Click the brand lockup with a stub router so onBrandClick is exercised.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant