Commit Graph
16 Commits
Author SHA1 Message Date
lukaszraczylo 2e49670452 feat(autoupdate): make go mod tidy optional
Encore adds imports at build time, so go mod tidy prunes go.sum entries
that the Encore build needs, and every batch failed with a missing go.sum
entry. Add go-mod-tidy, on by default, so an Encore app can turn it off.
2026-10-03 21:48:33 +01:00
lukaszraczylo 85900e7304 fix(autoupdate): give Renovate the pnpm version the tests use
Renovate wrote the lockfile with its own pnpm, in a form the pinned pnpm
rejected as an overrides mismatch, so every branch failed to install. Pass
pnpm-version to Renovate as a constraint.
2026-10-03 21:31:19 +01:00
lukaszraczylo 319b564d14 feat(autoupdate): let a repo set its own Go prepare and test commands
An Encore app cannot be tested with plain go build and go test. Add
go-prepare-command, which runs before the tests, and go-test-command, which
replaces the default Go build and test commands.
2026-10-03 21:30:17 +01:00
lukaszraczylo f854725a97 feat(node): let a caller pin the pnpm version
A repo with no packageManager field got the newest pnpm through Corepack.
Several repos pin pnpm in their own workflows instead. Add a pnpm-version
input to node-pr and renovate-autoupdate and activate it with corepack.
2026-10-03 21:05:05 +01:00
lukaszraczylo b06a5bb1b1 feat(autoupdate): dispatch several workflows after a merge
A repo can have more than one workflow that a push used to trigger, such
as a Docker build and a site deploy. Let release-workflow take a
comma-separated list and dispatch each one.
2026-10-03 21:04:20 +01:00
lukaszraczylo bdbd313c0d fix(autoupdate): let Renovate read issues in a private repo
Renovate queries the repository issues when it starts. The job token had
no issues permission, so a private repo returned FORBIDDEN and Renovate
stopped with platform-unknown-error. Public repos expose issues, which hid
the problem. Grant issues: read to the Renovate job.
2026-10-03 20:17:52 +01:00
lukaszraczylo 5e0790e131 feat(autoupdate): add a log-level input for Renovate
A Renovate failure at info level hides the cause. Let a caller raise the
level to debug for one run.
2026-10-03 20:13:26 +01:00
lukaszraczylo 114812c70e feat(autoupdate): update only the directories that are tested
Renovate updated every go.mod and package.json in a repo, while the tests
cover one module and one Node project. An update outside them would merge
untested. Restrict the managers to the configured directories, and add go
and node switches for a repo that has no Go code or no frontend to test.
2026-10-03 18:42:09 +01:00
lukaszraczylo c12df22051 fix(autoupdate): make Go major updates real
A Go major update changes the import path. Without rewriting imports the
PR only added the new module to go.mod, the tests passed, and Renovate
proposed it again. Rewrite the imports with gomodUpdateImportPaths so the
build tests the actual update, and cap indirect dependencies at their
current major, which the parent module decides.
2026-10-03 18:11:40 +01:00
lukaszraczylo 46d523860a fix(autoupdate): test the default branch and handle merge conflicts
The checkout used the triggering ref, so a run started from another
branch tested a stale tree and then hit conflicts. Check out the default
branch explicitly. When a passing PR conflicts, close it and skip, and
when the merge fails, close the PR and fail the job. Only a real test
failure goes to the issue.
2026-10-03 17:52:11 +01:00
lukaszraczylo 6f8fec0956 fix(autoupdate): recreate update branches whose PR was closed
Renovate skips a branch when a PR with the same title was closed, and
adds a comment to that PR. A PR closed after a merge or by hand must not
block the next update, so set recreateWhen to always.
2026-10-03 17:13:44 +01:00
lukaszraczylo 94d1fe3409 feat(autoupdate): report failing updates with their test output
A failing update has no PR, so its test output had nowhere to go. Capture
the output of the Go and Node steps. On failure, write it as a comment on
one sticky issue, one comment per branch, updated on every run. A final
job removes comments for branches that are gone and closes the issue when
no update fails. The step is best effort and also writes the run summary.
2026-10-03 17:05:17 +01:00
lukaszraczylo dc0437151c feat(autoupdate): open a PR only after the tests pass
Renovate now prepares branches and opens no PR. Each branch is merged
into the default branch locally and tested, one at a time. Only a branch
that passes gets a PR, which merges at once, so a failing update never
shows up as a PR. Majors default to one branch each. The release is
dispatched once, after anything merged.
2026-10-03 16:52:15 +01:00
lukaszraczylo aca729f8f7 fix(autoupdate): skip major updates by default
A repo with a backlog of majors got one PR per major on the first run.
Replace include-major with major-updates: ignore (default), separate or
batch. Ignore uses a version cap, because rules that disable by update
type have no effect.
2026-10-03 16:47:43 +01:00
lukaszraczylo 97b4c0ec7e fix(autoupdate): run the Renovate workflow with the workflow token only
The workflow runs inside the calling repository, so its own token is
enough and no PAT is needed. Drop the PAT fallbacks and make admin merge
opt-in, because the workflow token cannot bypass branch protection.
A merge made with that token does not trigger push workflows, so add a
release-workflow input that dispatches the release after the merge.
2026-10-03 16:07:46 +01:00
lukaszraczylo 413f9c3064 feat(autoupdate): add a Renovate workflow for Go and Node projects
Renovate batches every minor and patch update in one PR. The workflow
tests that branch with go build and go test for Go and with the
package.json scripts for npm, pnpm and yarn. It squash-merges the PR only
when every test passes. Major updates get their own PR and never merge by
themselves. A renovate.json in the calling repo adds project rules.
2026-10-03 16:01:34 +01:00