-
Notifications
You must be signed in to change notification settings - Fork 106
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
change(release): Make the latest tag point to the production build, rather than the build with experimental features #7817
Conversation
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 did not deep-dive into uses: docker/metadata-action@v5
options, but can't this be accomplished without adding the extra build-experimental
?
If possible, is there any extra complexity we're trying to avoid?
This change does not add an extra job, it makes the production build run after the experimental build. Previously, the But I also changed the order just in case we add a tag with the same name in future. (I forgot to use "needs" to make sure they run in the correct order, but that's fixed now.)
Is there a specific change you want to make to avoid complexity? Removing the experimental build is out of scope, and we'll want an experimental build again as soon as we have some blockchain scanning in Zebra. So I'm not sure that's necessary. (Also it's a breaking change for anyone using experimental tags.) |
Yeah, my bad. I just got confused with the GitHub diff
No, this is ok. I'll leave the final review to the assigned reviewer. |
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 think that the current and proposed tags for this PR might be excessive when compared to the zcash docker image, which maintains a smaller set of tags, as seen here: https://hub.docker.com/r/electriccoinco/zcashd/tags.
My suggestion would be to simplify the tag structure. I propose the following tags:
latest
v1.4.0
v1.4.0-experimental
Here are my reasons for this recommendation:
-
Minimizing Tag Count: Fewer tags make it easier to manage and navigate, reducing potential confusion.
-
Avoiding Ambiguity: Using tags like
1.4
or1
can lead to confusion. -
Clarifying
sha-13230d0.experimental
: If the purpose of tags likesha-13230d0.experimental
is unclear, it's best to either rename them to something more descriptive or avoid publishing them. -
Prefixing with
v
: Prefixing version tags withv
(e.g.,v1.4.0
instead of1.4.0
) seems to be a common convention and looks better to me. -
Docker-Specific Information: Consider including Docker-specific details in the Docker Hub overview page instead of the README.
I like the idea of this change, and I agree with the goal of simplifying things for users. But it seems like a significant change that might be beyond the scope of the ticket or PR. It could also be a breaking change for some users. To find out if it is a breaking change, we can check which tags are actually being used: I don't have access to that data, but @gustavovalverde does, or he can give someone an account. Then if it tag isn't used much, we can just delete it. If it is used, we can announce its deprecation in one release, and delete it in the next. That way users have time to change their scripts. I also don't want to block the release on a longer investigation, so I suggest we make these changes in this PR:
|
Actions from the meeting about this PR: Minimise this PR. Open tickets for: Check docker pull statistics and consider deleting:
And add:
And Change:
Deleting release tags is blocked by #7680 so we can see release failures easily. Changing features is blocked by changing the tags, because we want the new features to appear under the new tag names:
Final set of tags:
|
v1.x.y
DockerHub tag, users should use 1.x.y
(no v
) insteadThere 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 think this is good enough for now, thank you.
Motivation
We want to remove redundant DockerHub tags, and fix incorrect tags.
Close #7415
Specifications
https://github.com/docker/metadata-action#flavor-input
Solution
Stop publishing thev1.x.y
tag for future releasesStop trying to publish theit only gets published in CI onedge
tag (it never actually got published)main
branch builds, which is what we wantlatest
point to the production image, not experimentalRelated Cleanups:
Testing
We won't be able to test this until the release.
The expected behaviour is in the tag workflow comments:
https://github.com/ZcashFoundation/zebra/pull/7817/files#diff-5a5111df219975ea6b3b69567752b89fa0c670d5a67598674ad411da2ed96985R93-R102
And it should appear here:
https://hub.docker.com/r/zfnd/zebra/tags
Review
This should get merged this week because it blocks the release.
Reviewer Checklist
Follow Up Work
experimental
build #7892