You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Automatically keep swup and plugins at their latest version #254
Use the hosted Renovate GitHub App for regular checks, rolling PRs, and conditional auto-merge. This avoids maintaining a custom scheduled update workflow or an annually rotated PAT.
Merge policy: patch/minor updates auto-merge after required checks pass; major updates require manual review.
Check daily Check whenever the hosted app runs (every few hours, no schedule), restricted to runtime swup and @swup/* dependencies, including themes. Leave unrelated dependencies untouched (incl. dev-only @swup/cli and @swup/prettier-config).
Update package-lock.json for releases within existing version ranges as well as updates requiring range changes (rangeStrategy: update-lockfile).
Maintain one rolling patch/minor PR (renovate/swup) eligible for auto-merge after required checks pass.
Keep major updates separate and manual, so they cannot block patch/minor updates.
Activate renovate-approve for swup/docs, so that Renovate can review it's own PRs automatically without manual intervention from a maintainer
3. Configure the repo on GitHub
Enable "Allow auto-merge" and require the Run tests check on main.
Verify review requirements permit the intended bot auto-merges without weakening protection for other changes. Force pushes to main should be limited to maintainers (not Renovate).
Make sure to adjust the settings on the swup org level, not the repo itself. The repo inherits them automatically
Silent mode → off
Automated PRs → on
Require config file → on
Create onboarding PRs → off
Install the renovate-approve app so that Renovate can approve the PRs it creates without requiring a manual review from one of the maintainers
When required, trigger Actions → Run Renovate scan on the repo's Renovate page manually to test the setup:
6. Review the initial catch-up
A local Renovate dry run predicts these PRs. Check if they get created as expected:
renovate/swup (auto-merge): lockfile updates for swup 4.x and @swup/preload-plugin 3.x
@swup/a11y-plugin → 5.x (manual)
@swup/scroll-plugin → 4.x (manual)
Review the a11y v5 migration requirements and plugin/core compatibility. At planning time, the lockfile contains a11y 4.5.2, while the registry's latest stable release is 5.2.1.
Review the scroll-plugin v4 migration requirements.
6. Verify end-to-end
New releases refresh existing rolling PRs rather than creating duplicates.
Failing required checks prevent auto-merge.
Major updates remain manual.
An auto-merged patch/minor update triggers deployment. The existing deployment workflow already runs on pushes to main.
Activity
hirasso commentedon Nov 9, 2026
Regarding auto-merge: It would be great if
main, triggering a re-publish.hirasso commentedon Nov 9, 2026
Implementation roadmap
Use the hosted Renovate GitHub App for regular checks, rolling PRs, and conditional auto-merge. This avoids maintaining a custom scheduled update workflow or an annually rotated PAT.
Merge policy: patch/minor updates auto-merge after required checks pass; major updates require manual review.
1. Strengthen CI first
0pages #2552. Configure Renovate
Done in 9489ea8 and c6c2893 (
renovate.json)Check dailyCheck whenever the hosted app runs (every few hours, no schedule), restricted to runtimeswupand@swup/*dependencies, including themes. Leave unrelated dependencies untouched (incl. dev-only@swup/cliand@swup/prettier-config).package-lock.jsonfor releases within existing version ranges as well as updates requiring range changes (rangeStrategy: update-lockfile).renovate/swup) eligible for auto-merge after required checks pass.swup/docsswup/docs, so that Renovate can review it's own PRs automatically without manual intervention from a maintainer3. Configure the repo on GitHub
Run testscheck onmain.mainshould be limited to maintainers (not Renovate).4. Setup Renovate
offononoffWhen required, trigger Actions → Run Renovate scan on the repo's Renovate page manually to test the setup:
6. Review the initial catch-up
A local Renovate dry run predicts these PRs. Check if they get created as expected:
renovate/swup(auto-merge): lockfile updates forswup4.x and@swup/preload-plugin3.x@swup/a11y-plugin→ 5.x (manual)@swup/scroll-plugin→ 4.x (manual)Review the a11y v5 migration requirements and plugin/core compatibility. At planning time, the lockfile contains a11y 4.5.2, while the registry's latest stable release is 5.2.1.
Review the scroll-plugin v4 migration requirements.
6. Verify end-to-end
main.7. Cleanup
vendor/repo/settings/security_analysis0pages #255Add Renovate config for swup packages
hirasso commentedon Nov 11, 2026
Everyhing works! 🤠
Swup and a few plugins were updated automatically and deployed to https://swup.js.org via PR #260
Before I merging the major version jumps I'll convert the codebase to typescript to make regressions easier to catch. The order: