Skip to content

feat(ci): deploy default branch docs at /docs/execution-specs/#2973

Open
danceratopz wants to merge 2 commits into
ethereum:forks/amsterdamfrom
danceratopz:better-docs-default-url
Open

feat(ci): deploy default branch docs at /docs/execution-specs/#2973
danceratopz wants to merge 2 commits into
ethereum:forks/amsterdamfrom
danceratopz:better-docs-default-url

Conversation

@danceratopz

@danceratopz danceratopz commented Jun 10, 2026

Copy link
Copy Markdown
Member

TLDR:

We currently deploy the default branch's docs (forks/amsterdam) at:

This PR and ethereum/steel-website#59 changes this to deploy at:

This is so that when we bump the default branch, the URL doesn't change: The most up-to-date version of the docs will always be available at https://steel.ethereum.foundation/docs/execution-specs/

Summary

  • Adds a default_branch field to .github/configs/docs-branches.yaml to name the branch whose docs are deployed at the root of the product namespace on steel.ethereum.foundation (rather than under a <branch>/ segment).
  • Updates docs-build.yaml to set SITE_URL without a <branch>/ segment when building the default branch, so canonical, OG, Twitter, and sitemap URLs match where the artifact is actually published.
  • Removes devnets/bal/4 from the allowlist (no longer required).

Commits

  1. feat(ci): deploy default branch docs at /docs/execution-specs/ — the substantive change.
  2. refactor(ci): resolve SITE_URL once in check-should-publish — cleanup pass: SITE_URL is now derived once and emitted as a job output; the publish-summary line and the html-docs Build step both consume it. Replaces two separate default-vs-non-default conditionals. Same behavior, html-docs Build drops from 14 lines to 4.

Why

Today the default development branch (currently forks/amsterdam) ships at steel.ethereum.foundation/docs/execution-specs/forks/amsterdam/. The URL becomes ephemeral at each fork rollover and the docs landing page has to recommend mainnet for stable incoming links, which lags reality.

Pairing this PR with the steel-website change moves the default branch's docs to steel.ethereum.foundation/docs/execution-specs/, which is stable across rollovers and is the right URL to share. This PR is the upstream half: it ensures SITE_URL (and therefore canonical/OG/sitemap URLs baked into the built HTML) matches the new publish path.

Pairing

  • Requires feat: deploy default branch docs at /docs/execution-specs/ steel-website#59, which stages the default branch artifact at site/docs/execution-specs/ instead of site/docs/execution-specs/<branch>/.
  • Order is flexible: until both land, the default branch URL is cosmetically inconsistent (canonicals point at one URL, deploy is at another) but functionally fine because in-page links are relative.

Behavior

  • forks/amsterdam (default): SITE_URL=https://steel.ethereum.foundation/docs/execution-specs/.
  • mainnet, other allowlisted branches: SITE_URL=https://steel.ethereum.foundation/docs/execution-specs/<branch>/ (unchanged).
  • Pull requests: SITE_URL=https://example.com/docs/<branch>/ (unchanged).
  • The check-should-publish job validates that default_branch is present in branches[] and fails fast on misconfiguration.

Names the default branch in docs-branches.yaml and builds it with
SITE_URL pointing at the product root (no <branch>/ segment), so
canonical, OG, Twitter, and sitemap URLs match where steel-website
publishes the artifact. Non-default branches keep the per-branch
SITE_URL.

Also drops devnets/bal/4 from the allowlist.

Paired with the matching steel-website change that stages the default
branch's artifact at /docs/execution-specs/ rather than
/docs/execution-specs/<branch>/.
Computes SITE_URL in the Resolve publish configuration step and emits
it as a job output. Replaces two separate default-vs-non-default
conditionals (the publish-URL line in the job summary and the
SITE_URL export in html-docs Build) with a single shared derivation.

The html-docs Build step drops from 14 lines of conditional setup to
4 lines that just pass the precomputed value through to `just docs`.

Same behavior, same SITE_URL values per branch / PR.
@codecov

codecov Bot commented Jun 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.53%. Comparing base (8ccd21f) to head (c607527).
⚠️ Report is 9 commits behind head on forks/amsterdam.

Additional details and impacted files
@@               Coverage Diff                @@
##           forks/amsterdam    #2973   +/-   ##
================================================
  Coverage            90.52%   90.53%           
================================================
  Files                  535      535           
  Lines                32893    32893           
  Branches              3021     3021           
================================================
+ Hits                 29778    29780    +2     
+ Misses                2596     2595    -1     
+ Partials               519      518    -1     
Flag Coverage Δ
unittests 90.53% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@kclowes kclowes 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.

I tested locally and this all looks good to me!

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