Skip to content

Conversation

@kiashok
Copy link
Contributor

@kiashok kiashok commented Dec 13, 2022

This PR bumps hcsshim tag from v0.10.0-rc1 to v0.10.0-rc.4 . Ran go mod tidy/vendor.

The full changelog between v0.10.0-rc1...v0.10.0-rc4 can be seen here

@k8s-ci-robot
Copy link

Hi @kiashok. Thanks for your PR.

I'm waiting for a containerd member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Copy link
Member

@dcantah dcantah left a comment

Choose a reason for hiding this comment

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

LGTM if the CIs happy

@dcantah
Copy link
Member

dcantah commented Dec 14, 2022

Project checks aren't happy, seems there's differing dependency versions between go.mod at the root and the integration/client/go.mod

@kiashok
Copy link
Contributor Author

kiashok commented Dec 15, 2022

Project checks aren't happy, seems there's differing dependency versions between go.mod at the root and the integration/client/go.mod

Yeah, I saw that. The latest commit fixes the project check failures

@kiashok
Copy link
Contributor Author

kiashok commented Dec 15, 2022

Project checks aren't happy, seems there's differing dependency versions between go.mod at the root and the integration/client/go.mod

Yeah, I saw that. The latest commit fixes the project check failures

All checks have passed

@kiashok
Copy link
Contributor Author

kiashok commented Dec 15, 2022

@dmcgowan Hi Derek, would you be able to take a look please?

Copy link
Member

@mikebrow mikebrow left a comment

Choose a reason for hiding this comment

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

github.com/josephspurrier/goversioninfo v1.4.0

... "Go will embed the version information and an optional icon and an optional manifest in the executable..." ?

https://github.com/microsoft/hcsshim/pull/1433/files#diff-ce07b69075d5f4237197bb90b721f2b357c8567a1a8945068239b32e57d85552R6

Is this necessary?

@kiashok
Copy link
Contributor Author

kiashok commented Dec 15, 2022

Go will embed the version information

I am not sure I understand the question. Are you asking if we need github.com/josephspurrier/goversioninfo v1.4.0 ?

@mikebrow
Copy link
Member

Go will embed the version information

I am not sure I understand the question. Are you asking if we need github.com/josephspurrier/goversioninfo v1.4.0 ?

Yes. Does this need be be vendored here.

@mikebrow
Copy link
Member

mikebrow commented Dec 15, 2022

@helsaawy ping.. just double checking if the import _ is/was necessary here... E.g. to avoid using generated external syso? Just skimming the newly added vendor .. thought I should ask if this is on purpose / needed.

@helsaawy
Copy link
Contributor

@helsaawy ping.. just double checking if the import _ is/was necessary here... E.g. to avoid using generated external syso? Just skimming the newly added vendor .. thought I should ask if this is on purpose / needed.

@mikebrow Thats weird that its being vendored in here, since the import in tools.go is under a //go:build tools constraint...
I would have imagined that it would be ignored since its not used

But yes, we use github.com/josephspurrier/goversioninfo/cmd/goversioninfo to generate the syso files via //go:generate directives: https://github.com/microsoft/hcsshim/blob/main/cmd/containerd-shim-runhcs-v1/main.go#L29

Its _ imported following this advice on how to track the version of tools needed for the repo, so we can always use the correct version.

@estesp
Copy link
Member

estesp commented Dec 16, 2022

Sorry--another mod update was merged and you need to resolve merge conflicts.

Minor nit: your changelog in your opening PR comment shows rc.2->rc.3, but we currently are at rc.1; the correct changelog is quite a bit bigger and includes the goversioninfo change that is discussed above (I was curious to see the change that brought in the dependency, and initially couldn't find it because it is not in rc.2->rc.3)

@mikebrow
Copy link
Member

mikebrow commented Dec 16, 2022

@helsaawy ping.. just double checking if the import _ is/was necessary here... E.g. to avoid using generated external syso? Just skimming the newly added vendor .. thought I should ask if this is on purpose / needed.

@mikebrow Thats weird that its being vendored in here, since the import in tools.go is under a //go:build tools constraint... I would have imagined that it would be ignored since its not used

But yes, we use github.com/josephspurrier/goversioninfo/cmd/goversioninfo to generate the syso files via //go:generate directives: https://github.com/microsoft/hcsshim/blob/main/cmd/containerd-shim-runhcs-v1/main.go#L29

Its _ imported following this advice on how to track the version of tools needed for the repo, so we can always use the correct version.

nod.. I think the key element in that guidance is.. and "want to ensure that everyone is using the same version of that tool"

Here we have a build only dependency for windows platform shim propagating up that is only used in build? If some other binary in the containerd echo system should be/needs to be using the same version makes sense. If that is not the case probably should remove it. I was looking for some constant struct that was overloaded at build, but since it's just external syso... Thing that caught my eye at first is it seems to be a private/personal repo, also we are always trying to remove extra vendor dependencies where it makes sense.

IMO ... open an issue to address in the shim repo, and merge this PR (with phil's change request to the description, and rebase w/conflict resolution, and will get the update later :-)

@kiashok
Copy link
Contributor Author

kiashok commented Dec 17, 2022

Sorry--another mod update was merged and you need to resolve merge conflicts.

Minor nit: your changelog in your opening PR comment shows rc.2->rc.3, but we currently are at rc.1; the correct changelog is quite a bit bigger and includes the goversioninfo change that is discussed above (I was curious to see the change that brought in the dependency, and initially couldn't find it because it is not in rc.2->rc.3)

Just resolved merge conflicts and also updated the description

@kiashok
Copy link
Contributor Author

kiashok commented Dec 17, 2022

@helsaawy ping.. just double checking if the import _ is/was necessary here... E.g. to avoid using generated external syso? Just skimming the newly added vendor .. thought I should ask if this is on purpose / needed.

@mikebrow Thats weird that its being vendored in here, since the import in tools.go is under a //go:build tools constraint... I would have imagined that it would be ignored since its not used
But yes, we use github.com/josephspurrier/goversioninfo/cmd/goversioninfo to generate the syso files via //go:generate directives: https://github.com/microsoft/hcsshim/blob/main/cmd/containerd-shim-runhcs-v1/main.go#L29
Its _ imported following this advice on how to track the version of tools needed for the repo, so we can always use the correct version.

nod.. I think the key element in that guidance is.. and "want to ensure that everyone is using the same version of that tool"

Here we have a build only dependency for windows platform shim propagating up that is only used in build? If some other binary in the containerd echo system should be/needs to be using the same version makes sense. If that is not the case probably should remove it. I was looking for some constant struct that was overloaded at build, but since it's just external syso... Thing that caught my eye at first is it seems to be a private/personal repo, also we are always trying to remove extra vendor dependencies where it makes sense.

IMO ... open an issue to address in the shim repo, and merge this PR (with phil's change request to the description, and rebase w/conflict resolution, and will get the update later :-)

Updated the PR after resolving conflicts + changing description to include change list between v0.10.0-rc.1 and v0.10.0-rc3

@kiashok
Copy link
Contributor Author

kiashok commented Dec 28, 2022

@mikebrow @dmcgowan Could you please help merge this change? Or do we need more sign offs?

@kiashok
Copy link
Contributor Author

kiashok commented Jan 6, 2023

@mikebrow @dmcgowan Could you please help merge this change? Or do we need more sign offs?

ping on this!

@kzys
Copy link
Member

kzys commented Jan 10, 2023

@kiashok @helsaawy How about putting tools.go in a separate module or use go install? I still don't want to have goversioninfo.

@kiashok kiashok changed the title go.mod: Bump hcsshim to v0.10.0-rc.3 go.mod: Bump hcsshim to v0.10.0-rc.4 Jan 12, 2023
@kiashok
Copy link
Contributor Author

kiashok commented Jan 12, 2023

@kiashok @helsaawy How about putting tools.go in a separate module or use go install? I still don't want to have goversioninfo.

@helsaawy worked on this. I cut a new shim tag v0.10.0-rc.4 and updated this PR.

@kiashok
Copy link
Contributor Author

kiashok commented Jan 12, 2023

@kiashok @helsaawy How about putting tools.go in a separate module or use go install? I still don't want to have goversioninfo.

@helsaawy worked on this. I cut a new shim tag v0.10.0-rc.4 and updated this PR.

@dmcgowan @mikebrow could you please review the new changes made? This shim update includes some important fixes in hccshim and would be great if we can make it into containerd/1.7. Thanks!

Copy link
Member

@estesp estesp left a comment

Choose a reason for hiding this comment

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

LGTM

@estesp
Copy link
Member

estesp commented Jan 13, 2023

Concerns about the goversioninfo addition have been resolved in this latest update. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

9 participants