chore(deps): refresh pnpm, Node types, and Pages deployment action - #220
Conversation
Bumps the actions group with 1 update: [actions/deploy-pages](https://github.com/actions/deploy-pages). Updates `actions/deploy-pages` from 5.0.0 to 5.0.1 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@cd2ce8f...368f825) --- updated-dependencies: - dependency-name: actions/deploy-pages dependency-version: 5.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com>
|
🦞👀 Pull request received. I will update this pull request when review starts. |
Replace unbounded synchronous fixture execution with async process-group supervision, an explicit deadline, bounded output, and close-before-cleanup. Cover descendants retaining pipes after a successful shell exit. The full serial suite passes; preserve separately recorded local parallel-run timeouts.
|
Codex review: needs maintainer review before merge. Reviewed September 4, 2026, 4:13 AM ET / 08:13 UTC. ClawSweeper reviewWhat this changesUpdates pnpm across development and automation, refreshes Node type definitions and the lockfile, and advances the pinned Pages deployment action. Merge readiness✅ Ready for maintainer review Keep open: the update remains absent from fetched main and has no actionable introduced defect. The previous changelog finding is resolved. Priority: P3 Review scores
Verification
How this fits togetherfs-safe’s maintenance tooling installs dependencies and validates its Node.js package across platforms. Its separate Pages workflow builds documentation and publishes the resulting site. flowchart TD
A[Package metadata and lockfile] --> B[Pinned pnpm installation]
B --> C[Cross-platform package checks]
C --> D[Release preparation]
E[Documentation changes on main] --> F[Build and upload site]
F --> G[Pinned Pages deployment]
Before mergeNone. Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Keep the maintenance pins synchronized while preserving the supported Node runtime, frozen installs, and dependency cooldown. Do we have a high-confidence way to reproduce the issue? Not applicable: this refreshes maintenance dependencies rather than reporting broken package behavior. Is this the best way to solve the issue? Yes: synchronized version updates and a matching lockfile follow the existing maintenance pattern without adding a competing implementation. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 027f6435122b. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (5 earlier review cycles)
|
* fix(queue): propagate enqueue parent sync failures * fix(queue): retain atomic ownership through directory sync
Restore the documented non-repair policy for secret roots and parents, including EEXIST winners. Initialize newly created directories through retained descriptor authority and effective-UID checks, preserve full directory mode bits, and retain the admitted guard chain through write and private-lock handoff. Carry exact bigint identities through private Root capabilities and native/fallback writes without relaxing identity comparisons. Make async Root-backed lock normalization read-only so a deleted admitted parent is not recreated before refusal. Preserve external arbitration keys with explicit in-root sidecars, normal lock defaults, and ordinary Root-backed descendant creation. Invalid modes reject before mutation; unpinnable new directories fail closed, including the documented non-root macOS umask(0777) case. Creation and descriptor admission are not an atomic create-and-pin guarantee; callers own cleanup of empty created directories after refusal. Add regressions for permission repair, initialization ownership, late replacements, large/same-number identities, bounded Windows unknown-identity checks, private JSON lock preparation/deletion, and stale-Root reentrant reuse. Extend existing root-only npm/pnpm package smoke with public-API traces, real identities, separate-process mutations, actual native-load evidence, and artifact/source provenance. Keep metadata collection portable for Windows namespace paths and Git-less build containers; preserve explicit output-directory overrides. Proof: 7,235 tests passed with 80 skipped in the final serial suite; security and package checks passed. Hosted packaged consumers passed 144 observations across Windows, macOS, Linux glibc, and Linux musl in off/require modes. CI 33832592064 and coverage 33832592009 passed. Complete-scope Codex autoreview and final ClawSweeper review found no actionable code/security issues; the Windows authority-chain proof was accepted. Failed parallel/CI/provisioning attempts remain documented in #222. The separate explicit file-mode parity follow-up is not claimed fixed here.
Finalize explicit file modes after content, verify complete secret mode bits, and preserve exact ownership through native mode changes and failed-write cleanup. Keep append permission tightening before data while restoring special bits afterward and completing short synchronous writes. Add regressions, native CI selection, docs, and Unreleased notes.
Update the pinned Pages action to 5.0.1, align pnpm 11.25.0 across local and CI tooling, and refresh Node type definitions to 26.4.1. Retain the existing dependency cooldown and supported runtime floors. Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Windows CI could exceed the process-exit test deadline while copying the physical package fixture, then remove that directory while the copy was still running. The large adversarial corpora had the same teardown lifetime problem after their shared deadline expired. Prepare the package in a separately budgeted suite hook and serialize and drain fixture work before cleanup. Preserve the four-second child watchdog, independent physical-package identity, all twelve lock domains, and every ordered traversal and copy/move payload with shared state and per-payload deadlines. Production filesystem behavior, permission limits, global test timeouts and coverage thresholds remain unchanged. Validation: deterministic six-second copy reproduces the baseline cleanup race and passes on the candidate with fixture removal; 159 focused tests, pnpm check and docs build pass. Exact-head Windows Node 22 and 24 delayed-copy proofs, all 15 CI jobs, cross-platform merged coverage, CodeQL and benchmarks pass. Full P0-P2 candidate review found no actionable findings. Follow-up to the Windows fixture failures observed after #220.
Refresh the maintenance toolchain while retaining the package's Node >=22 contract and two-day dependency cooldown.
actions/deploy-pagesv5.0.1 update, which adds deployment polling backoff and jitter.@types/nodeto 26.4.1 and regenerate the lockfile with pnpm.The dependency audit found the direct Rust dependencies and other Actions pins current.
@napi-rs/cli3.9.0, Vitest 5.0.0, and cargo-zigbuild 0.23.4 remain deferred within the cooldown. Zig 0.16 is a separate cross-target toolchain migration.Validation at
01c08534525f3bb8f683103b288e03de23ffa0b9:CI=1 pnpm check, docs site build, workflow lint, andgit diff --checkpassed. The suite passed 216 files / 6,906 tests, with 5 files / 480 expected skips.pnpm package:smokepassed using disposable root-only npm 11.19.0 and pnpm 11.25.0 installs. It exercised native-required SHA-256, missing/omitted binding fallbacks, public imports, and secret-directory replacement/deletion admission. Foreign package payloads were synthetic platform-filter fixtures; this local proof covers macOS arm64.Exact-head workflows all passed: ci, coverage, CodeQL, benchmarks, hash identity Windows proof. No test fixes or CI reruns were needed.
The upstream executable source diff was retrieved and reviewed, including both pinned versions of
src/internal/deployment.js. It adds validated polling intervals, successful-status backoff, and jitter while retaining the existing timeout/error cancellation paths. This resolves the automated review's source-retrieval evidence gap.Actual Pages deployment is not exercised by PR CI and was not dispatched. The exact deployment pin will need observation on the next authorized Pages run.