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 x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. OS-Windows release-blocker
Milestone

Comments

@bcmills
Copy link
Contributor

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 x/build issues (builders, bots, dashboards) label Jan 26, 2022
@bcmills bcmills added the NeedsFix The path to resolution is known, but the work has not been done. label Jan 26, 2022
@gopherbot gopherbot added this to the Unreleased milestone Jan 26, 2022
@bcmills
Copy link
Contributor Author

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 modified the milestones: Unreleased, Go1.19 Jan 26, 2022
@ALTree
Copy link
Member

ALTree commented Jan 26, 2022

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

@bcmills
Copy link
Contributor Author

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
Contributor Author

bcmills commented Jan 26, 2022

Duplicate of #35006

@bcmills bcmills marked this as a duplicate of #35006 Jan 26, 2022
@golang golang locked and limited conversation to collaborators Jan 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. OS-Windows release-blocker
Projects
None yet
Development

No branches or pull requests

3 participants