automerge tailscale + component patch updates behind a PR build
Add .woodpecker/pr-build.yaml: builds all three arches (dry-run, no push) on PRs and pushes to main, reporting status to Gitea. This is the gate for automerge. renovate.json automerge rules (platformAutomerge, merged only after the PR build passes): - tailscale stable patch AND minor - Go/Alpine/busybox PATCH only - base-image digest refreshes Minor/major of build deps and tooling stay manual. Move pinDigests into a dockerfile packageRule (top-level dockerfile.* is deprecated). Document the automerge policy and its caveat (PR build proves build-only, not runtime) in DESIGN.md.
This commit is contained in:
+28
-4
@@ -7,10 +7,12 @@
|
||||
],
|
||||
"labels": ["dependencies"],
|
||||
"rebaseWhen": "behind-base-branch",
|
||||
"dockerfile": {
|
||||
"pinDigests": true
|
||||
},
|
||||
"packageRules": [
|
||||
{
|
||||
"matchManagers": ["dockerfile"],
|
||||
"description": "Keep base-image tags pinned to a digest.",
|
||||
"pinDigests": true
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["github-releases"],
|
||||
"matchPackageNames": ["tailscale/tailscale"],
|
||||
@@ -18,6 +20,28 @@
|
||||
"extractVersion": "^v(?<version>\\d+\\.\\d+\\.\\d+)$",
|
||||
"allowedVersions": "/^\\d+\\.\\d*[02468]\\.\\d+$/",
|
||||
"ignoreUnstable": true
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["github-releases"],
|
||||
"matchPackageNames": ["tailscale/tailscale"],
|
||||
"description": "Automerge all stable Tailscale releases (patch AND minor) once the PR build passes.",
|
||||
"matchUpdateTypes": ["minor", "patch"],
|
||||
"automerge": true
|
||||
},
|
||||
{
|
||||
"matchManagers": ["dockerfile"],
|
||||
"matchPackageNames": ["golang", "alpine", "busybox"],
|
||||
"description": "Automerge PATCH-only bumps of build components (Go/Alpine/busybox) once the PR build passes; review minor/major manually.",
|
||||
"matchUpdateTypes": ["patch"],
|
||||
"automerge": true
|
||||
},
|
||||
{
|
||||
"matchManagers": ["dockerfile"],
|
||||
"matchUpdateTypes": ["digest", "pinDigest"],
|
||||
"description": "Automerge base-image digest refreshes (same tag, new sha256) once the PR build passes.",
|
||||
"automerge": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"automergeType": "pr",
|
||||
"platformAutomerge": true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user