Skip to content

ci: replace Dependabot with Renovate for dependency updates#1095

Open
frankieyan wants to merge 1 commit into
mainfrom
frankie/switch-to-renovate
Open

ci: replace Dependabot with Renovate for dependency updates#1095
frankieyan wants to merge 1 commit into
mainfrom
frankie/switch-to-renovate

Conversation

@frankieyan

Copy link
Copy Markdown
Member

Short description

This PR moves Reactist from Dependabot to Renovate for several reasons:

We also include config options that target the token package introduced in #1094, but it won't take effect until that is merged.

PR Checklist

  • Added tests for bugs / new features
  • Updated docs (storybooks, readme)
  • Reviewed and approved Chromatic visual regression tests in CI

@frankieyan
frankieyan marked this pull request as ready for review July 16, 2026 00:53

@doistbot doistbot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This PR replaces Dependabot with Renovate and adds package rules mapping @doist/product-libraries-tokens updates to conventional-commit prefixes that align with the repo's semantic-release pipeline.

Few things worth tightening:

  • Add "semanticCommits": "disabled" to the major-version package rule. Renovate auto-enables semantic commits (detected from the repo's conventional-commit history), which causes it to ignore commitMessagePrefix — so a major token bump won't actually get feat(deps)!: and semantic-release won't treat it as breaking. This is a per-rule override and won't affect the patch/minor rules that rely on semanticCommitType.

Share FeedbackReview Logs

Comment thread .github/renovate.json
"description": "A token major likely renames or removes --product-library-* variables, silently breaking Reactist's var() references until the mapping is updated. commitMessagePrefix (not semanticCommitType) yields a well-formed feat(deps)!: with the ! in the subject and PR title, so the breaking change survives squash-merge; never automerge — the PR is the start of a manual mapping review.",
"matchPackageNames": ["@doist/product-libraries-tokens"],
"matchUpdateTypes": ["major"],
"commitMessagePrefix": "feat(deps)!:",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

P2 commitMessagePrefix is ignored by Renovate when semanticCommits is enabled. Semantic commits are on here: the patch/minor rules depend on semanticCommitType (only honored with semantic commits enabled), and Renovate's default auto detection will enable them given Reactist's conventional-commit history, which the check-semantic-pull-request workflow enforces. So a major @doist/product-libraries-tokens bump won't actually get feat(deps)!: — Renovate builds the prefix from the base preset's semanticCommitType/semanticCommitScope (likely chore/deps) with no !, and semantic-release won't cut a breaking/major release, defeating the rule's stated purpose. Add "semanticCommits": "disabled" to this package rule so commitMessagePrefix takes effect; it's a per-rule override and won't affect the patch/minor rules, which keep using semanticCommitType.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@doistbot the docs is kind of ambiguous, because it says:

Prefix to add to start of commit messages and PR titles. Uses a semantic prefix if semanticCommits is enabled.

However, looking at the source, it looks like semanticCommits is guarded with a !upgrade.commitMessagePrefix check: https://github.com/renovatebot/renovate/blob/170b972320cd4a6de644992586f5156eb20d9de5/lib/workers/repository/updates/generate.ts#L69

So that seems to me that semanticCommits is filling in as the default value, and commitMessagePrefix is used to override it. I guess it doesn't hurt to disable it, but I don't think it's necessary either.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You’re right—the Renovate source confirms that semanticCommits only supplies a prefix when upgrade.commitMessagePrefix is unset. For the major rule, commitMessagePrefix: "feat(deps)!:" therefore takes precedence and produces the intended breaking conventional-commit title. That’s also what the repository’s semantic PR check and semantic-release configuration consume.

"semanticCommits": "disabled" would be redundant rather than harmful. I’ll withdraw that concern; the configuration can remain as-is.

Co-Authored-By: Claude <noreply@anthropic.com>
@frankieyan
frankieyan force-pushed the frankie/switch-to-renovate branch from 389f546 to 5cd25c3 Compare July 16, 2026 02:34
@frankieyan
frankieyan requested a review from doistbot July 16, 2026 02:38

@doistbot doistbot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This PR updates ci: replace Dependabot with Renovate for dependency updates. No issues were flagged in the reviewed diff.

Share FeedbackReview Logs

@frankieyan
frankieyan requested review from a team and pawelgrimm and removed request for a team July 16, 2026 03:25

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

🚀

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.

3 participants