-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Upgrade to golang 1.6.2 #22840
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
Upgrade to golang 1.6.2 #22840
Conversation
Yep, thanks @thaJeztah! |
It's green 😮 |
lol |
@runcom will you be updating this PR with the other files to be changed as well? |
Yes |
@thaJeztah updated, have I updated everything now? |
RUN curl -fsSL "https://storage.googleapis.com/golang/go${HACK_GO_VERSION}.linux-amd64.tar.gz" \ | ||
| tar -xzC /tmp \ | ||
&& mv /tmp/go "/usr/local/go${HACK_GO_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.
Are we sure this is no longer needed? Following this comment: golang/go#15286 (comment) it looks like there's still a workaround needed (because a fix didn't make it for Go 1.6.2)
Also, if we're reverting the Hack/Workaround, it looks like there's also changes to be made to hack/make/cross
; see #22082
ping @jstarks @jhowardmsft could you have a look?
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.
Oh, and this note; pkg/integration/utils_test.go#L32-L37
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.
took care of those :)
Hm, some more things to take into account; The gccgo version has to be bumped (see the discussion on #22715) I already pinged @tophj-ibm @michael-holzheu there to help in getting those to the right version (and sha/hash) Some things I'm not sure of; Looks like there's these patches; not sure if they need to be rebased for go 1.6.2 hack/vendor.sh#L66 (https://github.com/docker/go) Oh, and I remember @tonistiigi was doing a patch somewhere to have https://go-review.googlesource.com/#/c/21654/, but not sure if that was applied somewhere in this repository or the runc or containerd repo @tonistiigi ? |
Okay, for ppc64, gccgo and s390x, looks like we need to modify things ppc64le: gccgo: s390x: |
@runcom should be safe to bump the ppc64le and gccgo dockerfiles to 6.1, there doesn't appear to be a 6.2 for gcc. @thaJeztah for ppc64le, we have to manually make go which requires bootstrapping from go 1.4+. Because power wasn't supported in go 1.4, we have to do that from gccgo, hence the from gcc. I'm working on a pr to change this to xenial which has go for power available, but that's why that funny stuff is there 😛 |
@tophj-ibm fixed ppc64le, not sure what there's to do in gccgo |
@runcom oh no, I meant bumping the base gcc images, because they include the gccgo versions. |
@@ -89,7 +89,7 @@ RUN set -x \ | |||
|
|||
## BUILD GOLANG 1.6 | |||
# NOTE: ppc64le has compatibility issues with older versions of go, so make sure the version >= 1.6 | |||
ENV GO_VERSION 1.6.2 | |||
ENV GO_VERSION 1.6.1 |
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 is fine at 1.6.2
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.
fixed
b4d8151
to
a06091c
Compare
seems good to me, thanks! |
Thanks @tophj-ibm! Guess we need to await input from the Windows people now (w.r.t. the 1.5.3 hack) |
Nano Server TP5 is incompatible with Go 1.6.2. We have to fix that incompatibility in Windows, so until there is another release we are stuck. We could move Windows to 1.6.1 though. Another possible workaround just occurred to me though, so give me a few hours to try it out. |
I found a workaround. I can submit it as a separate PR, or you can cherry pick jstarks/docker@b7a721a as part of this. |
@amitkris done - @thaJeztah @michael-holzheu not sure what's going on with notary - who can I ping for it? |
ping @endophage @cyli can you have a look for the Notary problems? |
@runcom @thaJeztah Apologies, I would just test myself, but I can't seem to even build the s390x Dockerfile. I'm not sure why, but I'm getting:
|
ping @runcom is there anything left to be done in this PR? Do we need to revert changes for the Windows Hack, or is that taken care of? |
triggered ARM and PowerPC as well, they were not running on this PR |
I think we're done here afaict, I've already reverted the windows check so it should be good to go |
@runcom cool. the s390x is going in a follow up? |
I'm not sure what's going on there honestly - and I cannot even test it. If anyone is willing to point me in the right direction I can make the modifications needed here, otherwise, yes, I'll defer that to another PR since I have to way to try that out |
@runcom sgtm; let's see if ARM and PowerPC go green, then I think we're ready 🎉 |
Probably safe to leave z out of this one, I know that team is testing out a gc build anyway. |
This is so green 👍 |
Just thought of this; should we remove the LGTM otherwise |
@thaJeztah let's do it in separate PR |
Looks like the softlink trick does no longer work for gcc 6.1. I also expected that with gcc 6.1 / go 1.6.1 we can remove the softlink workaround, but when I remove the softlink the build still fails. I assume gccgo has problems with vendoring? Perhaps golang/go#15814 is related? I could compile notary when I keep the softlink and explicitly disable GO15VENDOREXPERIMENT:
To summarize:
What about Dockerfile.gccgo on x86. Does this work with gcc 6.1?
Do you have a s390x machine for testing? |
Ok: Dockerfile.gccgo does not compile notary. |
Thanks for figuring this out! I would have thought censoring would work And no I do not - I guess that would be why. :). I figured I'd originally On Monday, May 30, 2016, Michael Holzheu notifications@github.com wrote:
|
So should we update Dockerfile.s390x (with the GO15VENDOREXPERIMENT=0 workaround) and Dockerfile.gccgo to gcc6.1 to be compliant to your go 1.6 build requirement? |
@michael-holzheu That would be necessary if you wanted yubikey integrations in those two distributions :) Thank you! |
In preparation after #22000 is merged (so I can fix tests failures)
Signed-off-by: Antonio Murdaca runcom@redhat.com