-
Notifications
You must be signed in to change notification settings - Fork 15
feat/add package prereleases #1399
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
tk-o
left a comment
There was a problem hiding this 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.
lightwalker-eth
left a comment
There was a problem hiding this 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 👍
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
Outdated
Show resolved
Hide resolved
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
Outdated
Show resolved
Hide resolved
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
Outdated
Show resolved
Hide resolved
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
Outdated
Show resolved
Hide resolved
Co-authored-by: lightwalker.eth <126201998+lightwalker-eth@users.noreply.github.com> Co-authored-by: Tomek Kopacki <tomasz@kopacki.net>
lightwalker-eth
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stevedylandev Thanks for updates. Reviewed and shared feedback.
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
Outdated
Show resolved
Hide resolved
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
Outdated
Show resolved
Hide resolved
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
Outdated
Show resolved
Hide resolved
| npm install @ensnode/package-name@next | ||
| docker run ghcr.io/namehash/ensnode:next | ||
| npm install @ensnode/[package-name]@next | ||
| docker run ghcr.io/namehash/ensnode/[app-name]:next |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stevedylandev @shrugs @jarmint Appreciate your advice on this I'm not familiar with how Docker handles these things.
Goal: All installation instructions we share (including for snapshot releases) should never auto-upgrade themselves as we publish future iterations of releases. Our docs should instruct everyone building on any form of ENSNode artifacts to always fully pin all version numbers of their ENSNode dependencies such that they retain full and explicit control over if and when to consume any updated ENSNode artifacts.
| ### Snapshot Releases | ||
| :::caution | ||
| 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). | ||
| The `next` tag is a floating pointer that always references the most recent snapshot release. When using Docker images with the `next` tag, you must run `docker pull` to update your local Docker cache if you want to get the actual latest image. Without pulling, you may continue using an older cached version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please see my comment below. I'm concerned about how we're currently describing use of the next tag. Advice appreciated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this :next tag seems redundant for me and just adds uncertainty.
the :latest tag has it's own use for POCs / Demos / development / test environments / CI builds for pulling cache faster. But as mentioned in already placed document: should never be used for running in production.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jarmint Let's move this discussion into Slack.
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
Outdated
Show resolved
Hide resolved
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
Outdated
Show resolved
Hide resolved
| - The version will never change - you control when to upgrade | ||
| - No unexpected breaking changes or behavior changes | ||
| :::caution | ||
| 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). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not so clear here right now. Specifically I'm confused about docs updates vs updates to how things actually work.
My understanding is that we have a goal to completely remove any use of the latest tag from our Docker images. Not only in our docs, but also that there's no longer any published artifacts tagged latest.
Is that true?
Assuming so, what remaining actions need to be taken for us to achieve this.
Please help me understand both the goal state, what state will be achieved when this PR is merged, and what additional follow-up actions if any are required after merging this PR to reach the goal state.
Co-authored-by: lightwalker.eth <126201998+lightwalker-eth@users.noreply.github.com>
lightwalker-eth
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR closes #1359 by adding the following:
snapshot-release.yml- Automatically publishes@nextpackages and docker images for commits to mainpreview-release.yml- A manual workflow that can be run to create@previewpackages for a branch, helpful for testing a PR before merging tomainpackage.jsonto support scripting in new workflowsensnode.io/docs/contributing/releaseswith new flow