-
Notifications
You must be signed in to change notification settings - Fork 234
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
Implement tag versioning. #84
Conversation
update.sh
Outdated
docker build -t ${DOCKER_REPO}:${TAG_VER} "${out_dir}/latest" | ||
docker tag ${DOCKER_REPO}:${TAG_VER} ${DOCKER_REPO}:latest | ||
docker build -t ${DOCKER_REPO}:register-${TAG_VER} "${out_dir}/register" | ||
docker tag ${DOCKER_REPO}:register-${TAG_VER} ${DOCKER_REPO}:register |
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 we do not need to do versioning for register image. I want to remove my modification 2 lines for the register image here.
Because actually what register
image is doing is just to execute the latest qemu's qemu-binfmt-conf.sh
script [1] to create binfmt_misc files. It's not related to QEMU's version. qemu-$arch-static
binary is used at user's run time, the timing to run arch specific binary.
Do you agree?
[1] https://github.com/multiarch/qemu-user-static/blob/master/containers/latest/Dockerfile#L4
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 removed the modification for now.
Please note that |
Ah sure. I did not consider the case. That's a good rational reason to change this PR's implementation. Below is edited. Changing the tag from Does QEMU v3.X work on you for the case? |
I'm afraid That's why some popular Docker images end up using a combination of very specific, and static version tags, as well as "floating" ones that capture various levels of granularity. Example: https://hub.docker.com/_/busybox that has:
Where:
That's why my recommendation would be to always:
|
Yes, I agree I am maintaining a Ruby container at Red Hat. The versioning is "major version + minor version" ( There was a discussion about the versioning in the past time in the company. |
NOTE: The reason of "major version + minor version" is good enough for Red Hat is, when we (Red Hat) faces an issue of specific version of the source code (in this project it is QEMU), we directly fix the issue patching the original source code by a kind of But for multiarch/qemu-user-static project, there is no such operation, and I do not think the operation is necessary. |
848b614
to
07d7e66
Compare
Special thanks @meeDamian.
07d7e66
to
c7c0753
Compare
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.
LGTM
Rebased and tested again. The CI result of my repository.
As the changes after the review, the version tag is "vX.Y.Z-R" (= $tag_version) to fill the requirement.
I tested like this again.
|
Thanks for the review, everyone. |
NOTE: The images on our official container repository work now. https://hub.docker.com/r/multiarch/qemu-user-static/tags
|
Sorry, related to the PR: #83 and #74 , let me fix the versioning with minimal steps.
Because I think @meeDamian and #74 's reporter want to see the versioning will be implemented with high priority soon. Other features on #83 are not urgent for them.
Testing
Here is my Travis's result.
You see the containers are created with version tag.
https://travis-ci.org/junaruga/qemu-user-static/builds/572536735#L2217
Here is my testing container repository.
https://quay.io/repository/junaruga/qemu-user-static?tab=tags
I also tested new version tag.
After merging this PR, I want to run with
VERSION: v3.1.0-3
to create the "v3.1" containers.Then run it with
v.4.0.0-5
again.I think it is good enough to fix #74 .