Skip to content

feat: tag-driven release pipeline for versioned docs and spec#807

Open
zcstarr wants to merge 10 commits into
ethereum:mainfrom
closertools:feat/release
Open

feat: tag-driven release pipeline for versioned docs and spec#807
zcstarr wants to merge 10 commits into
ethereum:mainfrom
closertools:feat/release

Conversation

@zcstarr
Copy link
Copy Markdown
Contributor

@zcstarr zcstarr commented May 22, 2026

This PR Adds a release pipeline that snapshots versioned docs and a stamped
assembled-spec branch from a single v*.*.* tag push.

Additionally it adds running or mainline version support for all the tooling. In order to have support for this we introduce a Next version in the docs, and a separate main branch for the assembled spec. The main branch is version less, as 0.0.0 , but contains both the refs-openrpc.json and the openrpc.json for downstream consumers.

The following workflows are introduced to github actions. The thing to note is that once a release is tagged in order to ensure github pages tracks the latest change, the CDN page must be invalidated with the automated PR that merges in the release notes. This is an artifact of being able to track main changes into the github pages and the sha1 commit has not changing between release.

There is a way to automate it, but that introduces mainline commits by the github actions bot. This might be done in the future and would streamline the release process, but does introduce an action that pushes directly to main.

Workflows

  • release.yaml — tag push → build, version snapshot, Pages deploy,
    GitHub Release, stamped assembled-spec branch
  • sync-release-notes.yaml — on release published/edited, opens a PR
    mirroring notes into docs-releases/ (also invalidates Pages cache)
  • publish-spec.yaml — manual assembled-spec re-push for recovery
  • deploy.yaml — keeps rolling Pages + unstamped assembled-spec-main

Zane Starr and others added 9 commits May 22, 2026 07:27
This change add support for retrieving and applying release notes to
the broader docs interface after creating a release through the github
interface. This in turn creates a PR to merge that includes md documentation
that tracks the release notes.

This is part 1 of 2 commits to incrementally support multiversion releases.
… spec

This is the second portion of a commit to release docs. We take
tagged releases and then generate release notes that are then
stored in docs release so they can be viewed from the documentaiton
site. We also generate a snapshot of the documents so we can support
multiple versions going back in time.

Finally, we add support for next, which are so we can see changes
that have been added to main but have not been released yet. This
will make it easy to then understand the documentation.

Additionally, we must have a follow up PR that adds the release
notes to the doc site, as this is cleaner than needing to publish
to update the release notes everytime. This will allow for one off
typo changes that don't need to go through the release process
from scratch but can just be committed into mainline.
@zcstarr
Copy link
Copy Markdown
Contributor Author

zcstarr commented May 22, 2026

Just noting here that the PR is unsquashed for review but will be squashed and rebased for merging

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.

1 participant