Skip to content
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

x/build: update gcc on Windows longtest builders #50824

Closed
bcmills opened this issue Jan 26, 2022 · 4 comments
Closed

x/build: update gcc on Windows longtest builders #50824

bcmills opened this issue Jan 26, 2022 · 4 comments
Labels
Builders NeedsFix OS-Windows release-blocker
Milestone

Comments

@bcmills
Copy link
Member

@bcmills bcmills commented Jan 26, 2022

As far as I can tell, the gcc used to run tests on the Go windows-amd64-longtest builders is currently version 5.1.0:

gopher@SERVER-2016-V7- C:\godep\gcc64\bin>.\gcc --version
gcc (tdm64-1) 5.1.0

According to the GCC release history, 5.1.0 was released April 22, 2015, nearly seven(!) years ago. There have been subsequent maintenance releases up to GCC 5.5 (Oct. 10, 2017), and no apparent active maintenance since then.

The GCC flags required for reproducible builds are only available as of GCC 8 or higher, so having such an antiquated compiler on the Windows builders means that we cannot test cgo-enabled builds for reproducibility on the builders.

The builder image needs a few other updates for adequate test coverage as well (see #46693), so we should probably refresh gcc at the same time. (CC @golang/release)

Going forward, I would like to see us have a consistent plan for keeping builder images up to date. While it may be important to test against very old compilers, in general we expect users to work around platform bugs by upgrading their platform to fix those bugs — so it is even more important that we test against up-to-date platforms, especially on the -longtest builders.

@gopherbot gopherbot added the Builders label Jan 26, 2022
@bcmills bcmills added the NeedsFix label Jan 26, 2022
@gopherbot gopherbot added this to the Unreleased milestone Jan 26, 2022
@bcmills
Copy link
Member Author

@bcmills bcmills commented Jan 26, 2022

I would like to make build reproducibility a priority for 2022. Marking as release-blocker for Go 1.19, and I will have a separate conversation with the release team to make a plan to resolve this.

@bcmills bcmills removed this from the Unreleased milestone Jan 26, 2022
@bcmills bcmills added this to the Go1.19 milestone Jan 26, 2022
@ALTree
Copy link
Member

@ALTree ALTree commented Jan 26, 2022

Essentially #43195 and #35006. Some discussion in both places regarding the toolchains to use.

@bcmills
Copy link
Member Author

@bcmills bcmills commented Jan 26, 2022

Indeed! I had missed #35006 because it refers to mingw instead of gcc, and I had missed #43195 because it wasn't labeled OS-Windows. 😞

@bcmills bcmills closed this as completed Jan 26, 2022
@bcmills
Copy link
Member Author

@bcmills bcmills commented Jan 26, 2022

Duplicate of #35006

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builders NeedsFix OS-Windows release-blocker
Projects
None yet
Development

No branches or pull requests

3 participants