Skip to content

generic: authenticate eels simulator-build clones with the job token - #96

Draft
danceratopz wants to merge 1 commit into
masterfrom
eels-sim-github-token
Draft

generic: authenticate eels simulator-build clones with the job token#96
danceratopz wants to merge 1 commit into
masterfrom
eels-sim-github-token

Conversation

@danceratopz

Copy link
Copy Markdown
Contributor

Adds --sim.buildarg github_token=${{ github.token }} to the three eels simulator flag blocks in the generic workflow, so the git clone of execution-specs inside the simulator image builds authenticates instead of running anonymously.

Motivation

GitHub rate-limits anonymous git-over-HTTPS per source IP, and the shared runners intermittently hit the limit. When that happens the simulator image build dies before any test runs and the job fails within minutes:

fatal: could not read Username for 'https://github.com': No such device or address
fatal: expected flush after ref listing
ERR image build failed image=hive/simulators/ethereum/eels/consume-engine:latest ...

Recent examples: consume-engine, nethermind and consume-engine, reth on 2026-09-02. The same failure has been observed in ethereum/execution-specs CI and other EF repo infra on the same runner pool. GitHub tightened unauthenticated rate limits in May 2025 and documents authentication as the supported remedy.

Notes

The git clone of execution-specs inside the eels simulator image builds
runs anonymously and GitHub rate-limits anonymous git-over-HTTPS per
IP, which intermittently kills consume-engine jobs during the image
build (hive exits with "could not read Username" before any test
runs). Pass the Actions job token via the github_token build-arg added
to the eels simulator Dockerfiles in ethereum/hive#1606 so the clones
count against authenticated limits. The token is job-scoped, expires
when the job ends, and the flag is a no-op (unused build-arg warning)
until the hive change is merged.
@danceratopz danceratopz changed the title chore(hive): authenticate eels simulator-build clones with the job token generic: authenticate eels simulator-build clones with the job token Sep 3, 2026

@spencer-tb spencer-tb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

If we use the BuildKit secret interface proposed in danceratopz/hive#3 here, please replace all three token build arguments with:

--sim.buildsecret id=github_token,env=HIVE_GITHUB_TOKEN

Then scope the token to the Hive action step:

- uses: ethpandaops/hive-github-action@master
  env:
    HIVE_GITHUB_TOKEN: ${{ github.token }}
  with:

This keeps the credential out of extra_flags, Hive's argv, logs, public result metadata, and Docker image history :)

Approving nonetheless, thanks!!

@spencer-tb spencer-tb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Don't merge please until Dan is finished!

@danceratopz
danceratopz marked this pull request as draft September 3, 2026 21:06
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.

3 participants