x/build: plan to remove windows-[386|amd64]-2008 builders #47845
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.
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 <firstname.lastname@example.org> Run-TryBot: Carlos Amedee <email@example.com> Reviewed-by: Heschi Kreinick <firstname.lastname@example.org> Reviewed-by: Alexander Rakoczy <email@example.com> TryBot-Result: Go Bot <firstname.lastname@example.org>
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:
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.
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 <email@example.com> Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com> TryBot-Result: Go Bot <firstname.lastname@example.org> Reviewed-by: Carlos Amedee <email@example.com>
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 <firstname.lastname@example.org> Run-TryBot: Carlos Amedee <email@example.com> Reviewed-by: Dmitri Shuralyov <firstname.lastname@example.org> TryBot-Result: Go Bot <email@example.com>