Skip to content

ci: trace DEP0005 Buffer deprecation in artifact download path #2118

Open

Description

@seonghobae

Observed warning

Central trusted coverage workflow .github@fb17ef556f94f673234aa557254ae52779e9a7b0 emitted Node [DEP0005] DeprecationWarning from process 2155 while actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c downloaded opencode-coverage-source (run 34695011182). Artifact SHA256 verification completed successfully; no coverage result impact was observed.

The captured log has no --trace-deprecation stack, so the exact package/function is unknown. Investigate by reproducing with Node trace-deprecation or inspecting the pinned action dependency tree, then assess an upstream action update. Do not suppress the warning without identifying the owner.

Target investigation date: 2026-09-13 KST.

Activity

  1. seonghobae commented on Sep 12, 2026

    @seonghobae
    ContributorAuthor

    RCA correction and bounded reproduction:

    • Git tags confirm pinned 3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c is both v8 and v8.0.1, the latest upstream release observed. The earlier suggestion to upgrade to a later release is withdrawn: no such verified consumer upgrade candidate exists.
    • The lockfile path is unzip-stream@0.3.4 → binary@0.3.0 → buffers@0.1.1. A diagnostic copy extracted only the self-contained Buffers module; it did not execute the action entrypoint, network calls, token handling, or installed runtime.
    • Under Node v24.16.0 with --trace-deprecation, an in-memory splice/slice fixture reproduces DEP0005 at Buffers.slice. Replacing numeric constructors with Buffer.alloc and the string constructor with Buffer.from in that diagnostic copy preserves splice, cross-buffer slice, and empty-slice outputs and emits no DEP0005. The original reproduction remains runnable with --original.
    • This proves a concrete deprecated-call path in the dependency. It does not prove that this was the exact call executed in the original CI capture; that capture has no stack trace. Conditional proxy-auth and other parser constructors remain separate candidates.

    Next owner action: trace the real artifact-download warning with deprecation stacks, repair the identified upstream source dependency and rebuild the action distribution, then adopt a reviewed immutable release and rerun the original artifact download/integrity validation. Do not patch generated dist in the consumer or suppress diagnostics. The issue remains unresolved, with the existing 2026-09-13 investigation/review target retained.

  2. seonghobae commented on Sep 12, 2026

    @seonghobae
    ContributorAuthor

    The same fast-mlsirm #1818 coverage run 34621596364 / check 103336781298 repeated Node [DEP0005] Buffer() at 2026-09-11T16:22:53.0448505Z. This is a recurrence in the captured diagnostic lane; it does not identify the exact artifact-download callsite. Preserve the existing request for stack-traced artifact-download reproduction and upstream dependency repair; do not suppress the warning.

  3. seonghobae commented on Sep 13, 2026

    @seonghobae
    ContributorAuthor

    Investigation-date check (2026-09-13), consumer side — no suppression, no change to the pinned action:

    Next: subscribe-and-adopt — re-check actions/toolkit#2003 / download-artifact#484 for a released fix, then bump the pin in exact-artifact-sbom-attestation.yml (2 sites), opencode-review-dispatch.yml (1 site) and the two contract tests that pin the SHA, and re-run an artifact-download lane with NODE_OPTIONS=--trace-deprecation to confirm zero DEP0005. Internal next review date: 2026-09-27 (two weeks; no release cadence signal upstream yet). Kept open; not resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions