@leaflink/dom-testing-utils 0.0.0-PR-215--a64f64f → 0.0.0-PR-214--5cf87d7

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.
Files changed (2) hide show
  1. package/README.md +20 -5
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -58,9 +58,9 @@ Dependency updates are handled by self-hosted [Renovate](https://docs.renovatebo
58
58
  ### Schedule
59
59
 
60
60
  - Workflow cron wakes Renovate hourly.
61
- - Renovate only opens PRs and merges between **1am–5am America/New_York**, every day.
61
+ - Renovate only opens PRs between **1am–5am America/New_York**, every day.
62
62
  - A new release must be **≥ 10 days old** (`minimumReleaseAge`) before Renovate will propose it — buffer against compromised/withdrawn publishes.
63
- - Merging is done by Renovate itself (`platformAutomerge: false`), not GitHub's native auto-merge — so a PR that goes green merges on the next hourly wake inside the schedule window.
63
+ - Merging is handled by a separate workflow (see [Auto-merge](#auto-merge)) that runs whenever required CI completes independent of Renovate's schedule.
64
64
 
65
65
  ### Update groups and auto-merge policy
66
66
 
@@ -75,14 +75,29 @@ Dependency updates are handled by self-hosted [Renovate](https://docs.renovatebo
75
75
 
76
76
  Renovate PR bodies all link back to MKPL-1055 via `prBodyNotes`.
77
77
 
78
- ### How auto-merge interacts with branch protection
78
+ ### Auto-merge
79
79
 
80
- `main` requires `quality-checks` + `release` status checks and a CODEOWNERS review. The Renovate PAT is issued from `leaflink-automation`, which is in `main`'s `bypass_pull_request_allowances` bypass covers the review requirement only; required status checks still gate every merge.
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.
81
+
82
+ To work around this, `.github/workflows/renovate-merge.yml` performs the merge on Renovate's behalf:
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.
91
+
92
+ Human PRs are unaffected — they still require CODEOWNERS review.
93
+
94
+ The required-checks list in `renovate-merge.yml` (`REQUIRED_CHECKS`) is hard-coded and must stay in sync with branch protection on `main`.
81
95
 
82
96
  ### Where to look
83
97
 
84
98
  - **Dependency Dashboard issue** (auto-created by Renovate, label `dependencies`) — single source of truth for what Renovate sees, what it skipped, and why.
85
- - **Workflow runs** for `Renovate` in the Actions tab — `workflow_dispatch` with `logLevel: debug` to debug.
99
+ - **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.
86
101
  - **`config:recommended`** is the base preset; any unspecified behavior comes from there.
87
102
 
88
103
  ## Usage
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflink/dom-testing-utils",
3
- "version": "0.0.0-PR-215--a64f64f",
3
+ "version": "0.0.0-PR-214--5cf87d7",
4
4
  "description": "Frontend DOM testing utilities",
5
5
  "packageManager": "pnpm@11.0.9",
6
6
  "engines": {
@@ -49,7 +49,7 @@
49
49
  "@vitest/coverage-v8": "^4.1.6",
50
50
  "commitlint": "^21.0.0",
51
51
  "conventional-changelog-conventionalcommits": "^9.3.0",
52
- "eslint": "^9.39.2",
52
+ "eslint": "^10.0.0",
53
53
  "jsdom": "^29.1.1",
54
54
  "semantic-release": "^25.0.3",
55
55
  "stylelint": "^17.11.0",