Skip to content

scripts: pin @aws-sdk/client-s3 and enforce frozen lockfile#196

Merged
tsahee merged 2 commits into
masterfrom
fix-aws-sdk-s3-build-pin
Jun 5, 2026
Merged

scripts: pin @aws-sdk/client-s3 and enforce frozen lockfile#196
tsahee merged 2 commits into
masterfrom
fix-aws-sdk-s3-build-pin

Conversation

@joshuacolvin0
Copy link
Copy Markdown
Member

The scripts image build (tsc -p .) was failing with:

@aws-sdk/client-s3/dist-types/S3Client.d.ts: error TS2307:
Cannot find module '@aws-sdk/middleware-sdk-s3/s3'

@aws-sdk/client-s3@3.1062.0 references the @aws-sdk/middleware-sdk-s3/s3 subpath in its emitted .d.ts. That subpath is only reachable via the package's exports map, which TypeScript's classic moduleResolution: node (used here) does not read, so type resolution fails.

The committed yarn.lock had no @aws-sdk entries and the Dockerfile ran a non-frozen yarn, so ^3.982.0 re-resolved fresh on every build and floated up into the broken 3.1062.0.

Pin client-s3 to an exact known-good version (3.1050.0, the last release whose .d.ts does not use the unreadable subpath), lock the full @aws-sdk tree, and switch the install to yarn install --frozen-lockfile so the build is reproducible and cannot drift again.

The scripts image build (`tsc -p .`) was failing with:

  @aws-sdk/client-s3/dist-types/S3Client.d.ts: error TS2307:
  Cannot find module '@aws-sdk/middleware-sdk-s3/s3'

@aws-sdk/client-s3@3.1062.0 references the `@aws-sdk/middleware-sdk-s3/s3`
subpath in its emitted .d.ts. That subpath is only reachable via the
package's `exports` map, which TypeScript's classic `moduleResolution: node`
(used here) does not read, so type resolution fails.

The committed yarn.lock had no @aws-sdk entries and the Dockerfile ran a
non-frozen `yarn`, so `^3.982.0` re-resolved fresh on every build and
floated up into the broken 3.1062.0.

Pin client-s3 to an exact known-good version (3.1050.0, the last release
whose .d.ts does not use the unreadable subpath), lock the full @aws-sdk
tree, and switch the install to `yarn install --frozen-lockfile` so the
build is reproducible and cannot drift again.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
tsahee
tsahee previously approved these changes Jun 5, 2026
The prysm_validator service floated on the `stable` tag while prysmctl
and beacon-chain are pinned to v6.1.1. `stable` rolled forward to v7.1.4,
which introduces the `gloas` fork (version 0x07000000). The v6.1.1 genesis
and beacon-chain configs have no gloas entry, so the validator aborts at
startup with "conflicting fork version schedule" and every PoS run fails.

Pin the validator to v6.1.1 to match the rest of the Prysm stack.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@tsahee tsahee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tsahee tsahee merged commit 8a2108e into master Jun 5, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants