@leaflink/dom-testing-utils 0.0.0-PR-247--e479df5 → 0.0.0-PR-248--b5444ea
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -25
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -53,51 +53,42 @@ For detailed commit conventions and manual release instructions, see [CONTRIBUTI
|
|
|
53
53
|
|
|
54
54
|
## Dependency updates
|
|
55
55
|
|
|
56
|
-
Dependency updates are handled by self-hosted [Renovate](https://docs.renovatebot.com/), invoked from `.github/workflows/renovate.yml` using a PAT (`RENOVATE_PAT`) issued from the `leaflink-automation` account. Configuration lives in [`.github/renovate.json5`](.github/renovate.json5). Tracking ticket: [MKPL-1055](https://leaflink.atlassian.net/browse/MKPL-1055).
|
|
56
|
+
Dependency updates are handled by self-hosted [Renovate](https://docs.renovatebot.com/) (Dependabot has been removed), invoked from `.github/workflows/renovate.yml` using a PAT (`RENOVATE_PAT`) issued from the `leaflink-automation` account. Configuration lives in [`.github/renovate.json5`](.github/renovate.json5). Tracking ticket: [MKPL-1055](https://leaflink.atlassian.net/browse/MKPL-1055).
|
|
57
57
|
|
|
58
58
|
### Schedule
|
|
59
59
|
|
|
60
|
-
- Workflow cron wakes Renovate hourly.
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
- Merging is handled by a separate workflow (see [Auto-merge](#auto-merge)) that runs whenever required CI completes — independent of Renovate's schedule.
|
|
60
|
+
- Workflow cron wakes Renovate hourly; Renovate only opens or rebases PRs between **1am–5am America/New_York**, every day (`updateNotScheduled: false` keeps rebases inside the window too).
|
|
61
|
+
- A new release must be **≥ 10 days old** (`minimumReleaseAge`) before Renovate will propose it — buffer against compromised/withdrawn publishes. Pending updates park on the Dependency Dashboard (`internalChecksFilter: strict`) instead of opening un-mergeable PRs. pnpm enforces the same gate at install time (`minimumReleaseAge` in `pnpm-workspace.yaml`), covering the transitives Renovate doesn't gate. `@leaflink/*` packages are exempt on both sides.
|
|
62
|
+
- Merging is GitHub-native auto-merge (see [Auto-merge](#auto-merge)) and lands as soon as required CI passes — independent of Renovate's schedule.
|
|
64
63
|
|
|
65
64
|
### Update groups and auto-merge policy
|
|
66
65
|
|
|
67
66
|
| Source | Update type | PR shape | Auto-merge |
|
|
68
67
|
|---|---|---|---|
|
|
69
|
-
| `devDependencies` |
|
|
68
|
+
| `devDependencies` | minor / patch / digest / pin | grouped as one PR (`ci(deps-dev): ...`) | ✅ |
|
|
69
|
+
| `devDependencies` | **major** | individual PR (`chore(deps-dev): ...`) | ✅ attempted — if CI fails, the PR stays open for review |
|
|
70
70
|
| `dependencies` / `peerDependencies` | **patch** | individual PR (`chore(deps): ...`) | ✅ |
|
|
71
71
|
| `dependencies` / `peerDependencies` | **minor / major** | individual PR (`chore(deps): ...`) | ❌ awaits review |
|
|
72
|
-
| `github-actions` | patch / minor / digest / pin | individual PR | ✅ |
|
|
73
|
-
| `github-actions` | major | individual PR | ❌ awaits review |
|
|
74
|
-
|
|
|
72
|
+
| `github-actions` | patch / minor / digest / pin | individual PR (`ci(deps): ...`) | ✅ |
|
|
73
|
+
| `github-actions` | major | individual PR (`ci(deps): ...`) | ❌ awaits review |
|
|
74
|
+
| `pnpm` (`packageManager` / `engines`) | minor / patch / digest / pin | individual PR (`chore(deps): ...`) | ✅ |
|
|
75
|
+
| `pnpm` | major | individual PR (`chore(deps): ...`) | ❌ awaits review |
|
|
76
|
+
| Lockfile maintenance (transitive refresh of `pnpm-lock.yaml`) | Mondays | `Refresh ... (chore(deps-dev))` | ✅ |
|
|
75
77
|
|
|
76
78
|
Renovate PR bodies all link back to MKPL-1055 via `prBodyNotes`.
|
|
77
79
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
`main` requires `quality-checks` + `release` status checks and a CODEOWNERS review. The `leaflink-automation` account (whose PAT Renovate uses) is in `main`'s `bypass_pull_request_allowances`, but Renovate itself won't call the merge API while the PR shows as `BLOCKED` in GitHub's API — even though the bypass would let it through.
|
|
80
|
+
Neither `ci` nor `chore` commits trigger a release, so dependency merges never publish a package version on their own — the bumped deps ship with the next `feat`/`fix`/`perf`/`revert` release.
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
1. Renovate creates the PR. Any rule with `automerge: true` adds `addLabels: ['automerge']`, so the label is the single source of truth for "Renovate intended to auto-merge this."
|
|
85
|
-
2. `PR Quality Checks` and `Release` run on the PR.
|
|
86
|
-
3. When either completes, the `Renovate Merge` workflow is triggered via `workflow_run`. It:
|
|
87
|
-
- filters to PRs authored by `leaflink-automation` with the `automerge` label,
|
|
88
|
-
- asserts both required checks are present and successful,
|
|
89
|
-
- calls the merge API authenticated as `leaflink-automation`.
|
|
90
|
-
4. Because the user is on the bypass list, the merge call succeeds despite `BLOCKED` status.
|
|
82
|
+
### Auto-merge
|
|
91
83
|
|
|
92
|
-
Human PRs are unaffected — they still require CODEOWNERS review.
|
|
84
|
+
Renovate uses **GitHub-native auto-merge** (`platformAutomerge: true`). `main` requires the `quality-checks` + `release` status checks and a CODEOWNERS review; the terraform-managed default-branch ruleset exempts `leaflink-automation` (whose PAT Renovate uses) from the review requirement, so an automerge PR no longer shows as `BLOCKED` and lands as soon as both checks pass. Human PRs are unaffected — they still require CODEOWNERS review.
|
|
93
85
|
|
|
94
|
-
|
|
86
|
+
> Historical note: a custom `renovate-merge.yml` workflow used to perform merges on Renovate's behalf to work around the `BLOCKED` quirk. It was removed in #227 once the ruleset bypass made native auto-merge viable.
|
|
95
87
|
|
|
96
88
|
### Where to look
|
|
97
89
|
|
|
98
|
-
- **Dependency Dashboard issue** (auto-created by Renovate, label `dependencies`) — single source of truth for what Renovate sees, what it skipped, and why.
|
|
90
|
+
- **Dependency Dashboard issue** (auto-created by Renovate, label `dependencies`) — single source of truth for what Renovate sees, what it's withholding (age gate), what it skipped, and why.
|
|
99
91
|
- **Workflow runs** for `Renovate` in the Actions tab — `workflow_dispatch` with `logLevel: debug` to debug Renovate itself.
|
|
100
|
-
- **Workflow runs** for `Renovate Merge` in the Actions tab — shows which PRs were merged or skipped (with reason) when CI completed. `workflow_dispatch` for manual recovery.
|
|
101
92
|
- **`config:recommended`** is the base preset; any unspecified behavior comes from there.
|
|
102
93
|
|
|
103
94
|
## Usage
|