Skip to content

fix: disable Renovate updates for sync-generated examples - #1843

Merged
yamcodes merged 10 commits into
devfrom
yamcodes-fix-renovate-example-churn
Sep 11, 2026
Merged

fix: disable Renovate updates for sync-generated examples#1843
yamcodes merged 10 commits into
devfrom
yamcodes-fix-renovate-example-churn

Conversation

@yamcodes

Copy link
Copy Markdown
Owner

Summary

Disable Renovate updates for the sync-generated example apps so it stops creating lockfile-only PRs from standalone example projects.

Why

These examples/* projects are standalone npm apps whose lockfiles are not part of the primary workspace update flow. Allowing Renovate to manage them causes noisy PR churn like dependency bumps that do not affect the actual monorepo packages.

Changes

  • Added a Renovate packageRules block to disable updates for sync-generated example directories.
  • Kept hand-maintained examples (examples/with-zod, examples/with-valibot) eligible for the workspace group as before.

Validation

  • Parsed the Renovate config successfully as JSONC.
  • Verified the branch is pushed to GitHub and ready for review.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@changeset-bot

changeset-bot Bot commented Sep 11, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4350775

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions github-actions Bot added the github actions Pull requests that update GitHub Actions code label Sep 11, 2026
yamcodes and others added 3 commits September 12, 2026 01:04
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@pullfrog pullfrog 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.

ℹ️ No critical issues — two minor suggestions inline.

Reviewed changes — PR #1843 "fix: disable Renovate updates for sync-generated examples". The single commit adds a packageRules block to .github/renovate.json disabling all Renovate updates for the ten sync-generated example directories plus examples/stackblitz, layered on top of the existing packageManager-specific disable rule.

  • Add packageRules block (matchFileNames over examples/{basic,basic-js,stackblitz,with-bun,with-bun-react,with-nextjs,with-nextjs-strict,with-nuxt,with-solid-start,with-standard-schema,with-vite-react} + enabled: false) to stop lockfile-only churn from standalone example apps.

I verified the rule's directory list against the playground arkenvExamples configs — all ten sync-generated examples are covered and none are missing, and examples/with-zod / examples/with-valibot stay Renovate-updatable via the pnpm group.

ℹ️ Nitpicks

  • The pre-existing packageManager disable rule (.github/renovate.json:121-139, matchPackageNames: ["npm","pnpm","bun"]) is now fully subsumed by this broader rule for the ten shared directories. Consider removing it (or pointing it at the new rule) so the two directory lists don't drift independently next time an example is added.

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

Comment thread .github/renovate.json Outdated
Comment thread .github/renovate.json Outdated

@pullfrog pullfrog 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.

ℹ️ No critical issues — the prior feedback was addressed; two minor observations on the new derivation mechanism.

Reviewed changes — This pass covers everything added since the previous review (base 7cab7232): the hand-written Renovate rule was reworked into a metadata-driven generator that rewrites the matchFileNames list in .github/renovate.json between marker comments, wired into sync-examples.js (both write and CI --check modes), with the now-subsumed packageManager disable rule removed and autofix formatting applied.

  • Add scripts/sync-lib/renovate.js generator that rewrites the // BEGIN GENERATED SYNC EXAMPLES// END GENERATED SYNC EXAMPLES block from playground arkenvExamples names (sorted, deduped).
  • Wire the generator into sync-examples.js so pnpm sync:examples:check fails when .github/renovate.json drifts from playground metadata; drop examples/stackblitz/** (hand-maintained) and the redundant matchPackageNames disable rule.

I verified the committed marker block is byte-identical to the generator's output for the current playground set, so sync-examples:check passes, and the config is valid JSONC (comments inside the matchFileNames array are fine — the config already used them elsewhere).

ℹ️ auto-sync won't commit a renovate.json rewrite

auto-sync in .github/workflows/sync-examples.yml only commits the examples tree (git add examples, lines 85-91), but pnpm sync:examples now also rewrites .github/renovate.json. A bot-triggered run that regenerates the marker block would leave that file modified-but-uncommitted, and check-sync is skipped for renovate[bot] PRs (line 30), so the drift would only surface on a later human PR that hits those paths. It's a rare path, but adding .github/renovate.json to the auto-sync commit line would make the mechanism bot-complete.

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

Comment thread scripts/sync-lib/renovate.js Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@yamcodes

Copy link
Copy Markdown
Owner Author

No changeset is needed for this PR. The scope is limited to repository automation in .github/renovate.json and the example-sync maintenance scripts; it does not modify a publishable package, public API, runtime behavior, or package metadata, so there is no package release to version.

cursoragent and others added 3 commits September 11, 2026 20:33
Keep the marker region self-contained JSONC so a later hand-written
entry after the END marker does not break Renovate parsing.

Co-authored-by: Yam Borodetsky <hi@yam.codes>
Bot-triggered sync rewrites .github/renovate.json alongside examples;
include it in the porcelain check and git add so drift is committed.

Co-authored-by: Yam Borodetsky <hi@yam.codes>
Generated matchFileNames entries always trailing-comma so hand-written
entries can follow the END marker. Enable Biome JSON trailing-comma
parsing and keep formatter trailing commas for renovate.json so autofix
no longer rejects the self-contained marker region.

Co-authored-by: Yam Borodetsky <hi@yam.codes>
@yamcodes

Copy link
Copy Markdown
Owner Author

@pullfrog review

@pullfrog

pullfrog Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Pullfrog  | View workflow run | via Pullfrog | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

@pullfrog pullfrog 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.

Important

The always-trailing-comma change (commit 2479659) breaks the repo's own lint gate: pnpm check (biome check) now fails to parse .github/renovate.json:73, and the autofix CI gate (node scripts/fix.jsbiome check --write .) fails too. The prior head (a572b7d) parsed cleanly, so this is a regression from this delta.

Reviewed changes — Incremental re-review of the delta since the prior Pullfrog review (a572b7df):

  • Added a config comment clarifying that hand-maintained examples (including StackBlitz) remain Renovate-managed.
  • Reworked the generator to emit a trailing comma on every generated matchFileNames entry, with a new unit test (scripts/sync-lib/renovate.test.js) covering the trailing-comma behavior.
  • Updated the auto-sync workflow so a sync that rewrites .github/renovate.json commits the file too (previously only the examples tree was committed).

Verified that pnpm sync:examples:check still passes (marker block is in sync with generator output) and the new unit tests pass — the problem is confined to biome parsing.

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

Comment thread scripts/sync-lib/renovate.js
yamcodes and others added 2 commits September 12, 2026 02:03
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@pullfrog pullfrog 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.

✅ No new issues found.

Reviewed changes — Re-review of the delta since the previous review (base 7c7db493):

  • Enabled trailing commas for biome's JSON parser repo-wide (json.parser.allowTrailingCommas: true) and added a biome.jsonc override for .github/renovate.json with formatter trailingCommas: "all", then reformatted the config (trailing commas everywhere).
  • This resolves the prior IMPORTANT finding: pnpm check no longer fails, the autofix gate (biome check --write .) applies zero fixes to renovate.json, pnpm sync:examples:check still passes (marker region byte-identical to generator output), pnpm sync:examples is idempotent, and the generator unit tests pass. The config remains valid Renovate JSONC.

Note: the thread reply mentions the generator now "omits the comma on the final generated entry," but the committed implementation keeps the always-trailing-comma generator and instead relaxes biome's parser — the actual head (ed4f5ce) is internally consistent and green either way, so no action is needed.

Pullfrog  | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

@pullfrog pullfrog 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.

✅ No new issues found.

Reviewed changes — Re-review of the delta since the previous review (base ed4f5ce1):

  • 8070d964 temporarily omitted the trailing comma from the final generated entry (and flipped the unit tests accordingly), which would have desynced the generated block from biome's trailingCommas: "all" formatter policy.
  • 4350775e reverted to emitting a trailing comma on every generated entry, updating the JSDoc and test descriptions to match the actual always-trailing-comma behavior.

Net effect: behavior is identical to the already-approved ed4f5ce1. Verified on head 4350775e: biome check and biome check --write apply zero fixes to renovate.json, pnpm sync:examples:check passes (marker region byte-identical to generator output), unit tests pass, write-mode sync is idempotent, and pnpm check is green.

Pullfrog  | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

@yamcodes
yamcodes merged commit 41060af into dev Sep 11, 2026
18 of 20 checks passed
@yamcodes
yamcodes deleted the yamcodes-fix-renovate-example-churn branch September 11, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants