-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Add support for Go Modules #2073
Conversation
38676c6
to
4fc7a7c
Compare
Just a drive-by-comment (I am no maintainer). To make sure that the code and the Makefile targetvendor:
export GO111MODULE=on \
$(GO) mod tidy && \
$(GO) mod vendor && \
$(GO) mod verify Shell script
|
Hi @vrothberg! Thanks for the tips! k8s use the same too, but with a bit more Added a simple check in 4f6014b now. |
2f0088d
to
f66aadc
Compare
similar discussion about validation in distribution/distribution#2941 (comment) (haven't checked if one has advantages over the other) |
Awesome! |
LGTM, thanks! |
needs rebase |
|
ca160ae
to
5919d16
Compare
Thanks for the interest @nathanjsweet!
Agree! Have been using this in several projects myself, including k8s, and go modules (and a new release) will help the developer experience a lot! |
I also think #2029 is kinda important, and that PR should be merged before this one. |
ping @mrunalp |
@odinuge can you please rebase on top of the latest master branch? Then I would give this one a review if you don't mind. :) |
09817b6
to
e9d5615
Compare
Makefile
Outdated
$(GO) mod vendor && \ | ||
$(GO) mod verify | ||
|
||
vendor-verify: vendor |
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 should be put to the validate
target?
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.
Yes! Thanks for catching it. Updated the PR now.
6f55ffc
to
cc22645
Compare
LGTM Use go modules makes sence to me, but I'm not sure why we are not using it in the first place, I think more maintainers should be aware of this change before merge. |
Go modules became mature with Go 1.13 (released Sept '19), and this PR has been open since June 19. Together with the usual turnaround time for reviews here, that already seems like more than enough explanation to me... 😅 |
I see, thanks for explain. BTW does this mean we are not able to build runc without go 1.13 or newer? |
We still keep the |
Another conflict has arisen, unfortunately (due to merging #2222). |
This removes vndr, and swiches to native Go Modules instead. All modules are kept on the old version. Keeps the vendor/ dir, so everything is backwards compatible. Signed-off-by: Odin Ugedal <[email protected]>
Signed-off-by: Odin Ugedal <[email protected]>
Signed-off-by: Odin Ugedal <[email protected]>
Signed-off-by: Odin Ugedal <[email protected]>
Signed-off-by: Odin Ugedal <[email protected]>
Signed-off-by: Odin Ugedal <[email protected]>
Signed-off-by: Odin Ugedal <[email protected]>
ping @opencontainers/runc-maintainers PTAL |
I'll merge this on Wednesday unless there are any objections |
Background: opencontainers#2073 (comment) > switched back to running the vendoring in 1.14. If we vendor with go > 1.13, go build will fail on go 1.14, making the tests fil. Signed-off-by: Akihiro Suda <[email protected]>
Background: opencontainers#2073 (comment) > switched back to running the vendoring in 1.14. If we vendor with go > 1.13, go build will fail on go 1.14, making the tests fil. Signed-off-by: Akihiro Suda <[email protected]>
Background: opencontainers#2073 (comment) > switched back to running the vendoring in 1.14. If we vendor with go > 1.13, go build will fail on go 1.14, making the tests fil. Signed-off-by: Akihiro Suda <[email protected]>
This removes vndr, and swiches to native Go Modules instead. All modules
are kept on the old version.
Keeps the vendor/ dir, so everything is backwards compatible.
This is more or less only
go mod init
This would make it way easier for other projects using runc as dependency to keep track of the dependencies (and their version) that runc require.
It would be very nice to get this in before the
v1.0.0
release!