Skip to content

Conversation

@stevedylandev
Copy link
Contributor

@stevedylandev stevedylandev commented Dec 12, 2025

This PR closes #1359 by adding the following:

  • snapshot-release.yml - Automatically publishes @next packages and docker images for commits to main
  • preview-release.yml - A manual workflow that can be run to create @preview packages for a branch, helpful for testing a PR before merging to main
  • Updates package.json to support scripting in new workflows
  • Updates docs at ensnode.io/docs/contributing/releases with new flow

@vercel
Copy link

vercel bot commented Dec 12, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
admin.ensnode.io Ready Ready Preview, Comment Dec 30, 2025 9:03pm
ensnode.io Ready Ready Preview, Comment Dec 30, 2025 9:03pm
ensrainbow.io Ready Ready Preview, Comment Dec 30, 2025 9:03pm

@changeset-bot
Copy link

changeset-bot bot commented Dec 12, 2025

⚠️ No Changeset found

Latest commit: 5898bce

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor

@tk-o tk-o left a comment

Choose a reason for hiding this comment

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

Looks awesome to me 🚀 I suggested some minor changes, feel free to merge the PR once ready.

Copy link
Member

@lightwalker-eth lightwalker-eth left a comment

Choose a reason for hiding this comment

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

@stevedylandev Thanks, excited for this! Shared some questions and requests for advice 👍

Co-authored-by: lightwalker.eth <126201998+lightwalker-eth@users.noreply.github.com>
Co-authored-by: Tomek Kopacki <tomasz@kopacki.net>
Copy link
Member

@lightwalker-eth lightwalker-eth left a comment

Choose a reason for hiding this comment

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

@stevedylandev Sharing feedback on the latest changes.

**When to use:**
- When you need maximum stability and reliability
- When you want thoroughly tested features
- Production deployments and any critical infrastructure
Copy link
Member

Choose a reason for hiding this comment

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

"... and any critical infrastructure"

What does this mean? How is it distinct from "Production deployments"?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated

- When you need maximum stability and reliability
- When you want thoroughly tested features
- Production deployments and any critical infrastructure
- When you need maximum stability and control over updates
Copy link
Member

Choose a reason for hiding this comment

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

What is the goal for writing this? I find this confusing and unclear.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated

- Stable, well-tested releases
- Complete release notes and changelog entries
- Stable, well-tested releases with complete release notes
- The version will never change - you control when to upgrade
Copy link
Member

Choose a reason for hiding this comment

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

This is confusing and unclear. It should be written better.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated

**What to expect:**
- Stable, well-tested releases
- Complete release notes and changelog entries
- Stable, well-tested releases with complete release notes
Copy link
Member

Choose a reason for hiding this comment

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

We aren't performing strong enough testing yet for us to fairly claim "well-tested releases" yet.

We shouldn't write things that sound nice if they are not true.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated

- The version will never change - you control when to upgrade
- No unexpected breaking changes or behavior changes

**Important:** Never use the `latest` tag for Docker deployments (e.g., `ghcr.io/namehash/ensnode:latest` or `ghcr.io/namehash/ensnode`). The `latest` tag is a mutable pointer that will automatically pull different versions over time, causing unexpected updates and potential breaking changes in your deployment. Always pin to a specific version number from the [GitHub releases page](https://github.com/namehash/ensnode/releases).
Copy link
Member

Choose a reason for hiding this comment

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

Can we just completely remove any use of the latest tag on all the Docker images we publish (current and future)?

Note that use of the latest tag is a key issue with Docker images. It's not as big of an issue for NPM packages.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

To clarify, are you asking to remove any mention of latest for Docker images in the docs? Or are you suggesting opening another issue to remove latest as a possibility for Docker image publishing?

…ases.mdx

Co-authored-by: lightwalker.eth <126201998+lightwalker-eth@users.noreply.github.com>
import { LinkCard } from '@astrojs/starlight/components';

We use [changesets](https://github.com/changesets/changesets) to manage version bumps and release notes for our NPM packages and Docker images (ENSIndexer, ENSAdmin, and ENSRainbow).
We use [changesets](https://github.com/changesets/changesets) to manage version bumps and release notes for our monorepo's artifacts (NPM packages, Docker images, and Lambda zips).
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Opted for artifacts as a term to refer NPM packages, Docker images, and Lambda zips per @shrugs suggestion

The example version below of `1.0.0` is a placeholder. Visit the [Releases Page](https://github.com/namehash/ensnode/releases) to pick a pinned full release.
:::
```bash
npm install @ensnode/[package-name]@1.0.0
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Switched to [package-name] and ensnode/[app-name] per suggestion from @shrugs

- **NPM Packages**: Available on the [npm registry](https://www.npmjs.com/search?q=%40ensnode) under the `@ensnode` organization
- **Docker Images**: Available on [GitHub Container Registry](https://github.com/orgs/namehash/packages?repo_name=ensnode)
- **GitHub Releases**: Full releases are documented with release notes on the [ENSNode GitHub releases page](https://github.com/namehash/ensnode/releases)
- **Lambda Zip Artifacts**: Available in the Artifact section of a successful workflow run
Copy link
Contributor Author

@stevedylandev stevedylandev Dec 30, 2025

Choose a reason for hiding this comment

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

@shrugs @lightwalker-eth open to suggestions on a better way to link/reference Lambda zips. As far as I know they can only be seen in successful workflow runs, e.g. https://github.com/namehash/ensnode/actions/runs/20581435373

@stevedylandev stevedylandev marked this pull request as ready for review December 30, 2025 21:09
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.

Add prerelease option to release workflows

5 participants