From b3324e37b9bfbc9c12d2677fe4de2da307db67da Mon Sep 17 00:00:00 2001 From: Johannes Millan Date: Sat, 23 May 2026 20:41:44 +0200 Subject: [PATCH] fix(ci): pin wiki-sync second checkout to actions/checkout@v5 (#7759) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(plugins): re-bundle document-mode and document Stage A path Reverts the unbundling from b0cae69ffe. Stage 0 (gzip + throttle, shipped in 84625be849) handles size; document-mode remains opt-in per context, so cross-context conflict risk is bounded. Stage A (keyed plugin-persistence API, issue #7749) is the documented future path for closing the LWW gap on different-context concurrent edits — picked up when conflicts are observed in practice. Design sketch with multi-reviewed phasing lives in docs/plans/2026-05-23-stage-a-keyed-plugin-persistence.md. Predecessor plan's "Future work" section now links to it. * test(plugins): cover document-mode bundled load and PLUGIN_USER_DATA LWW Follow-ups from the multi-review of 199e816479's re-bundling decision: - E2E smoke test asserts document-mode appears in plugin management so a typo in BUNDLED_PLUGIN_PATHS fails loudly. - Spec exercises PLUGIN_USER_DATA conflict resolution end-to-end, which previously relied on analogy to REMINDER (same array+null branch) but was never directly asserted after the migration off 'virtual'. - Stage A plan risks: stale-editor-view gap surfaced by the review; PluginHooks.PERSISTED_DATA_UPDATE already exists in the API but is never dispatched host-side — wiring it is the path to a fix. - background.ts: comment marks the known gap at the registerHook site. * docs(plugins): plan for wiring PERSISTED_DATA_CHANGED hook Designs the host-side wiring for the currently-dead PluginHooks.PERSISTED_DATA_CHANGED so plugins can react to remote-driven changes to their persisted data. Multi-reviewed twice; v4 trims scope to host-only (no plugin adoption in this design) and preserves the multi-review insights as seeds for the follow-up doc-mode adoption tracked at issue #7752. Implementation lands in a separate PR. * fix(ci): pin wiki-sync second checkout to actions/checkout@v5 v6 stores credentials in a $RUNNER_TEMP file referenced via includeIf.gitdir matchers; the wiki push intermittently runs without credentials on github-hosted runners (run 26335467138 failed with "could not read Username for 'https://github.com'"). v5 uses the path-independent extraheader, which is stable for this second checkout pattern. Leaves the primary Checkout Code on v6.0.2 so Dependabot keeps it current. Refs: actions/checkout#2321, #2359 --- .github/workflows/wiki-sync.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/wiki-sync.yml b/.github/workflows/wiki-sync.yml index 3134c82e82..2161e26c29 100644 --- a/.github/workflows/wiki-sync.yml +++ b/.github/workflows/wiki-sync.yml @@ -88,7 +88,11 @@ jobs: path: ${{ env.CODE_ROOT }} - name: Checkout Wiki - uses: actions/checkout@v6.0.2 + # Pinned to v5: v6 changed credential persistence to a path-scoped + # includeIf matcher, which intermittently leaves the wiki push without + # credentials on github-hosted runners (run 26335467138). v5 uses the + # path-independent extraheader and is stable for this second checkout. + uses: actions/checkout@v5 with: repository: ${{ github.repository }}.wiki path: ${{ env.WIKI_ROOT }}