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: plan to remove windows-[386|amd64]-2008 builders #47845

Open
cagedmantis opened this issue Aug 20, 2021 · 13 comments
Open

x/build: plan to remove windows-[386|amd64]-2008 builders #47845

cagedmantis opened this issue Aug 20, 2021 · 13 comments
Labels
Builders x/build issues (builders, bots, dashboards) NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@cagedmantis
Copy link
Contributor

Windows 2008 has reached end of life status. We should remove this builder and investigate if there are any other steps that should be taken in the process.

@golang/release
@bufflig

@cagedmantis cagedmantis added Builders x/build issues (builders, bots, dashboards) NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Aug 20, 2021
@cagedmantis cagedmantis added this to the Backlog milestone Aug 20, 2021
@dmitshur
Copy link
Contributor

dmitshur commented Aug 20, 2021

These builders are used by Go releases right now. Go 1.17 and 1.16 are documented to require Windows 7 or newer. Before we can remove the builders, we need to start using a newer builder for releases if possible, otherwise wait for them to become unused.

@sanjayvora
Copy link

Is there any timeline by when Go would stop supporting windows 2008 R2?

@cagedmantis
Copy link
Contributor Author

@sanjayvora Windows 2008 R2 has reached its end of life. We should be moving toward not supporting it in the near future.

@cagedmantis cagedmantis self-assigned this Nov 11, 2021
@gopherbot
Copy link

Change https://golang.org/cl/363474 mentions this issue: dashboard: add windows-386-2012 builder

gopherbot pushed a commit to golang/build that referenced this issue Nov 11, 2021
This change adds a Windows 386 builder with version 2012 of Windows
server. It replaces Windows 2008 as the version of Windows used for
trybot runs. It also ensures Go 1.17 is the latest version of go being
tested on Windows 2008 builders. Windows 2008 has reached its end of
life and will be phased out.

Updates golang/go#47845
Fixes golang/go#49490

Change-Id: I2307c68a74dfb41eb6a1a24177cc58835989d56b
Reviewed-on: https://go-review.googlesource.com/c/build/+/363474
Trust: Carlos Amedee <carlos@golang.org>
Run-TryBot: Carlos Amedee <carlos@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
@cagedmantis
Copy link
Contributor Author

Not an official one. We are starting to work on that.

@mappu
Copy link

mappu commented Nov 17, 2021

Windows 2008 R2 has reached its end of life. We should be moving toward not supporting it in the near future.

Unfortunately no, it's still supported, Windows 2008 (NT 6.0) and R2 (NT 6.1) still receive security patches until January 10, 2023. These are part of the ESU program, which has a cost for self-managed installs, but is free if you have virtualized your 2008 / R2 box to an Azure VM.

While looking up a citation for this, i discovered that Azure VMs for 2008 and 2008 R2 even get an extra year of official security updates, all the way out to January 14, 2024:

https://www.microsoft.com/en-us/windows-server/extended-security-updates

With this, customers will have until January 14, 2024 for Windows Server 2008/ 2008 R2 [...] to upgrade to a supported release.

@cagedmantis
Copy link
Contributor Author

Hi @mappu thank you for providing this link and information.

@golang/release @bufflig Do you have any thoughts on this?

@bufflig
Copy link
Contributor

bufflig commented Nov 19, 2021

I'm not in a position to make any decisions here, I think, but it does look premature to drop the support for WIndows 2008 R2 if Azure workloads still get security updates. But I think the @golang/release team understands this much better than me.

@toothrot toothrot added this to Planned in Go Release Team Nov 23, 2021
@toothrot toothrot moved this from Planned to In Progress in Go Release Team Nov 23, 2021
@zx2c4
Copy link
Contributor

zx2c4 commented Nov 23, 2021

Woooahh there, this is a big deal.

Dropping Windows 7 support is a very, very big deal.

I've tried various times to sunset support for it in my own software (most recently here - https://lore.kernel.org/wireguard/CAHmME9rZeksrVkbn1qOAFEtKs4F872N07EJNU5iHXSsGLi_TSg@mail.gmail.com/ ) and have not had much success. There are simply too many users: https://gs.statcounter.com/windows-version-market-share/desktop/worldwide/

Even Chrome, which was supposed to sunset Windows 7 this year, then pushed it to next, has pushed it ahead yet another year. And Microsoft still sells support for it too.

So, I would really like to kill Windows 7 support, because developing for it is a massive pain. But I don't think that'd be the best decision to make, so despite my desires, I'm keeping it alive a little longer.

If Go drops Windows 7 support, then Go will have forced this decision for me, and for others. That will surely elicit grumbles and maybe even howls. So maybe this issue should be tabled for another year or two, unfortunately.

@gopherbot
Copy link

Change https://golang.org/cl/366656 mentions this issue: dashboard: do not sunset windows 2008

@cagedmantis
Copy link
Contributor Author

@zx2c4 The @golang/release team discussed this earlier today and reached a similar conclusion. Thanks for creating the CL.

gopherbot pushed a commit to golang/build that referenced this issue Nov 23, 2021
CL 363474 added a 2012 builder, which is good, but it also took a major
step in sunsetting Windows 7 support by removing all 2008 builders from
trybots and for Go 1.18+. This will surely bitrot Windows 7 support and
force us to remove support for it, which isn't okay. Rather than line up
dominoes to force our hand on policy, such huge policy changes with
sweeping ramifications should be properly decided.

So, this commit keeps the 2008 builders in the running, alongside the
2012 ones.

Updates golang/go#47845.
Updates golang/go#49490.

Change-Id: I574f51ea22f638d2f9b09fcd00fdfc3097631771
Reviewed-on: https://go-review.googlesource.com/c/build/+/366656
Trust: Jason A. Donenfeld <Jason@zx2c4.com>
Trust: Carlos Amedee <carlos@golang.org>
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
@gopherbot
Copy link

Change https://golang.org/cl/368155 mentions this issue: dashboard: remove unnecessary builder from boring crypto

@cagedmantis cagedmantis removed their assignment Dec 1, 2021
@cagedmantis
Copy link
Contributor Author

This decision will be explored in the future.

@cagedmantis cagedmantis removed this from In Progress in Go Release Team Dec 1, 2021
gopherbot pushed a commit to golang/build that referenced this issue Dec 1, 2021
This change removes an unnecessary builder from the logic used to run
a build on boring crypto changes.

Updates golang/go#47845

Change-Id: I2223db8907feea72a80cdeb5629abc02512ee0f2
Reviewed-on: https://go-review.googlesource.com/c/build/+/368155
Trust: Carlos Amedee <carlos@golang.org>
Run-TryBot: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builders x/build issues (builders, bots, dashboards) NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

7 participants