diff --git a/.github/workflows/patch-build.yml b/.github/workflows/patch-build.yml index 810a5ae966..56a5b13b30 100644 --- a/.github/workflows/patch-build.yml +++ b/.github/workflows/patch-build.yml @@ -51,6 +51,8 @@ jobs: run: pwsh eng/run.ps1 submodule-refresh -commits -take ${{ matrix.patch.number }} - name: Build + env: + MS_USE_CI_STAGE0: 1 # Use the stage 0 Go version installed by the CI script, rather than the system-installed version of Go. run: | set -x pwsh eng/run.ps1 build diff --git a/cryptobackend/go.mod b/cryptobackend/go.mod index 17d6588c9c..0eeb59e4bb 100644 --- a/cryptobackend/go.mod +++ b/cryptobackend/go.mod @@ -6,5 +6,5 @@ require ( github.com/microsoft/go-crypto-darwin v0.0.3-0.20260619075948-e554deeefa9f github.com/microsoft/go-crypto-openssl v0.5.0 github.com/microsoft/go-crypto-winnative v0.0.0-20260605073512-713d2add0825 - golang.org/x/crypto v0.52.1-0.20260526024921-9beb694f9766 + golang.org/x/crypto v0.54.1-0.20260714033321-10b54ffa51b1 ) diff --git a/cryptobackend/go.sum b/cryptobackend/go.sum index 0202c04b06..28794e19a3 100644 --- a/cryptobackend/go.sum +++ b/cryptobackend/go.sum @@ -4,5 +4,5 @@ github.com/microsoft/go-crypto-openssl v0.5.0 h1:wTcBB5QN4YtsKcZdqWojL5pWIF/P+PV github.com/microsoft/go-crypto-openssl v0.5.0/go.mod h1:gJrjX+yWGi9pkbfPVDDh+ZbgjtQoRSXHjb/ZyjwKk34= github.com/microsoft/go-crypto-winnative v0.0.0-20260605073512-713d2add0825 h1:nmQ1K/L5GISW8UwbUwE376h3WXREEpREFdc3fNklcXc= github.com/microsoft/go-crypto-winnative v0.0.0-20260605073512-713d2add0825/go.mod h1:a1Z07CJIuWa8WT/pzFIGNTTKS96s8o1B1TPOziAHUxw= -golang.org/x/crypto v0.52.1-0.20260526024921-9beb694f9766 h1:ABD+jVg0H4Hwu2sGcUtKeb3T8mlS+jS3uWrkTAPcXjs= -golang.org/x/crypto v0.52.1-0.20260526024921-9beb694f9766/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc= +golang.org/x/crypto v0.54.1-0.20260714033321-10b54ffa51b1 h1:vGPAn+SBeT/HVkWqXTwgapJgtGQJztG0WR0OTuHzMAI= +golang.org/x/crypto v0.54.1-0.20260714033321-10b54ffa51b1/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= diff --git a/eng/utilities.ps1 b/eng/utilities.ps1 index c338bbe022..d69f76f1e8 100644 --- a/eng/utilities.ps1 +++ b/eng/utilities.ps1 @@ -24,7 +24,7 @@ function Download-Stage0() { # pre-installed (or the right version pre-installed). This CI script installs a consistent version # of Go to handle this. This also makes it easier to locally repro issues in CI that involve a # specific version of Go. The downloaded copy of Go is called the "stage 0" version. - $stage0_go_version = 'go1.25.0-1' + $stage0_go_version = 'go1.26.0-1' # Install stage 0 Go inside the repository (under "eng/artifacts/") to avoid modifying the user's # home directory, and to make cleanup easy (included in "git clean -xdf"). The "_" prefix prevents diff --git a/go b/go index 060245832f..2e161e3833 160000 --- a/go +++ b/go @@ -1 +1 @@ -Subproject commit 060245832fdda78cb2f6113ed4c5fc6339808e47 +Subproject commit 2e161e383336c9fac69b8560643dfe193244dd68 diff --git a/patches/0001-Vendor-external-dependencies.patch b/patches/0001-Vendor-external-dependencies.patch index 1321a18812..64dce9d5f4 100644 --- a/patches/0001-Vendor-external-dependencies.patch +++ b/patches/0001-Vendor-external-dependencies.patch @@ -827,20 +827,20 @@ Use a 'go' that was recently built by the current branch to ensure stable result create mode 100644 src/vendor/github.com/microsoft/go/cryptobackend/tls13/tls13_windows.go diff --git a/src/cmd/go.mod b/src/cmd/go.mod -index 326553a6a8e45f..7fcd181da63b96 100644 +index 72d17b6d37c14b..4be5038f5b021f 100644 --- a/src/cmd/go.mod +++ b/src/cmd/go.mod -@@ -4,6 +4,8 @@ go 1.27 +@@ -4,6 +4,8 @@ go 1.28 require ( github.com/google/pprof v0.0.0-20260507013755-92041b743c96 + github.com/microsoft/go-infra/telemetry v0.0.0-20260526160655-aa04f117b3ce + github.com/microsoft/go-infra/telemetry/config v0.0.0-20260526160655-aa04f117b3ce - golang.org/x/arch v0.27.1-0.20260521044007-9c1a596a2c97 - golang.org/x/build v0.0.0-20260522210304-d55d0041b921 - golang.org/x/mod v0.36.1-0.20260520130633-087f6515dd3b + golang.org/x/arch v0.29.0 + golang.org/x/build v0.0.0-20260715183034-a43f90886f2e + golang.org/x/mod v0.38.0 diff --git a/src/cmd/go.sum b/src/cmd/go.sum -index 3b88ef74339c5b..abeaf0b10b8aae 100644 +index 97bbb0b963d9ce..1c7a8b32afa17a 100644 --- a/src/cmd/go.sum +++ b/src/cmd/go.sum @@ -4,6 +4,10 @@ github.com/google/pprof v0.0.0-20260507013755-92041b743c96 h1:YDDnaZ9afWajDboPMt @@ -853,7 +853,7 @@ index 3b88ef74339c5b..abeaf0b10b8aae 100644 +github.com/microsoft/go-infra/telemetry/config v0.0.0-20260526160655-aa04f117b3ce/go.mod h1:t6u8QcO4tExYT4+NEB0XqR0ObiUvLe0D8ZpxFobGuA8= github.com/yuin/goldmark v1.6.0 h1:boZcn2GTjpsynOsC0iJHnBWa4Bi0qzfJjthwauItG68= github.com/yuin/goldmark v1.6.0/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= - golang.org/x/arch v0.27.1-0.20260521044007-9c1a596a2c97 h1:OEbDVxixMxnrAI3whhcFkCb0rPrEHwxeSSUMdN0V414= + golang.org/x/arch v0.29.0 h1:8sSET5wB0+exBm0FGmOtdHMqjlRdV2DRD3/IV6OZgho= diff --git a/src/cmd/internal/telemetry/counter/deps_ignore.go b/src/cmd/internal/telemetry/counter/deps_ignore.go new file mode 100644 index 00000000000000..d3155d34977b32 @@ -2666,7 +2666,7 @@ index 00000000000000..016de9bdd95956 + return filtered +} diff --git a/src/cmd/vendor/modules.txt b/src/cmd/vendor/modules.txt -index 7df86f0bd319ba..786602a9bca103 100644 +index e543d18b3bb23d..eaef8375c4522b 100644 --- a/src/cmd/vendor/modules.txt +++ b/src/cmd/vendor/modules.txt @@ -16,6 +16,17 @@ github.com/google/pprof/third_party/svgpan @@ -2684,7 +2684,7 @@ index 7df86f0bd319ba..786602a9bca103 100644 +# github.com/microsoft/go-infra/telemetry/config v0.0.0-20260526160655-aa04f117b3ce +## explicit; go 1.24 +github.com/microsoft/go-infra/telemetry/config - # golang.org/x/arch v0.27.1-0.20260521044007-9c1a596a2c97 + # golang.org/x/arch v0.29.0 ## explicit; go 1.25.0 golang.org/x/arch/arm/armasm diff --git a/src/crypto/deps_ignore.go b/src/crypto/deps_ignore.go @@ -2734,33 +2734,33 @@ index 00000000000000..d4671e1584dfa8 +// This file is here just to declare cryptobackend dependencies. +// This allows tracking their versions in a single patch file. diff --git a/src/go.mod b/src/go.mod -index bb6abc93792f39..0e38b0d76e9ea6 100644 +index 31cff08cfb0658..a77e67a1a93fe2 100644 --- a/src/go.mod +++ b/src/go.mod @@ -3,11 +3,17 @@ module std - go 1.27 + go 1.28 require ( -- golang.org/x/crypto v0.52.1-0.20260526024921-9beb694f9766 -- golang.org/x/net v0.55.1-0.20260526154343-657eb1317b5d +- golang.org/x/crypto v0.54.1-0.20260714033321-10b54ffa51b1 +- golang.org/x/net v0.57.1-0.20260714001123-e7e2eb826435 + github.com/microsoft/go-crypto-darwin v0.0.3-0.20260619075948-e554deeefa9f // indirect + github.com/microsoft/go-crypto-openssl v0.5.1-0.20260702080831-779d2f80165b // indirect + github.com/microsoft/go-crypto-winnative v0.0.0-20260605073512-713d2add0825 // indirect -+ golang.org/x/sys v0.45.0 // indirect -+ golang.org/x/text v0.37.0 // indirect ++ golang.org/x/sys v0.47.0 // indirect ++ golang.org/x/text v0.40.0 // indirect ) require ( -- golang.org/x/sys v0.45.0 // indirect -- golang.org/x/text v0.37.0 // indirect +- golang.org/x/sys v0.47.0 // indirect +- golang.org/x/text v0.40.0 // indirect + github.com/microsoft/go/cryptobackend v0.0.0 -+ golang.org/x/crypto v0.52.1-0.20260526024921-9beb694f9766 -+ golang.org/x/net v0.55.1-0.20260526154343-657eb1317b5d ++ golang.org/x/crypto v0.54.1-0.20260714033321-10b54ffa51b1 ++ golang.org/x/net v0.57.1-0.20260714001123-e7e2eb826435 ) + +replace github.com/microsoft/go/cryptobackend => ../../cryptobackend diff --git a/src/go.sum b/src/go.sum -index ab34844da17757..d67f6d6610de55 100644 +index 829e8fbf4b3026..4305da5bd0ebb4 100644 --- a/src/go.sum +++ b/src/go.sum @@ -1,3 +1,9 @@ @@ -2770,9 +2770,9 @@ index ab34844da17757..d67f6d6610de55 100644 +github.com/microsoft/go-crypto-openssl v0.5.1-0.20260702080831-779d2f80165b/go.mod h1:gJrjX+yWGi9pkbfPVDDh+ZbgjtQoRSXHjb/ZyjwKk34= +github.com/microsoft/go-crypto-winnative v0.0.0-20260605073512-713d2add0825 h1:nmQ1K/L5GISW8UwbUwE376h3WXREEpREFdc3fNklcXc= +github.com/microsoft/go-crypto-winnative v0.0.0-20260605073512-713d2add0825/go.mod h1:a1Z07CJIuWa8WT/pzFIGNTTKS96s8o1B1TPOziAHUxw= - golang.org/x/crypto v0.52.1-0.20260526024921-9beb694f9766 h1:ABD+jVg0H4Hwu2sGcUtKeb3T8mlS+jS3uWrkTAPcXjs= - golang.org/x/crypto v0.52.1-0.20260526024921-9beb694f9766/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc= - golang.org/x/net v0.55.1-0.20260526154343-657eb1317b5d h1:G6GZDsxGyGK2SxMEqnPJfBWRKGCNpWheup5btZYkYpw= + golang.org/x/crypto v0.54.1-0.20260714033321-10b54ffa51b1 h1:vGPAn+SBeT/HVkWqXTwgapJgtGQJztG0WR0OTuHzMAI= + golang.org/x/crypto v0.54.1-0.20260714033321-10b54ffa51b1/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= + golang.org/x/net v0.57.1-0.20260714001123-e7e2eb826435 h1:F2VkyVpi+/NElkyxEdnKyWzMLTGeSpJBbLgHJKS1rJ0= diff --git a/src/go/build/deps_test.go b/src/go/build/deps_test.go index 4959a421892996..67627cdb93ff22 100644 --- a/src/go/build/deps_test.go @@ -45251,7 +45251,7 @@ index 00000000000000..b7ffeea07c6b8d + panic("cryptobackend: not available") +} diff --git a/src/vendor/modules.txt b/src/vendor/modules.txt -index 54fcbab6a221c0..37d28d98d59f38 100644 +index 3592a83513f392..0490c07ab49be1 100644 --- a/src/vendor/modules.txt +++ b/src/vendor/modules.txt @@ -1,3 +1,57 @@ @@ -45309,7 +45309,7 @@ index 54fcbab6a221c0..37d28d98d59f38 100644 +github.com/microsoft/go/cryptobackend/sha512 +github.com/microsoft/go/cryptobackend/tls12 +github.com/microsoft/go/cryptobackend/tls13 - # golang.org/x/crypto v0.52.1-0.20260526024921-9beb694f9766 + # golang.org/x/crypto v0.54.1-0.20260714033321-10b54ffa51b1 ## explicit; go 1.25.0 golang.org/x/crypto/chacha20 @@ -30,3 +84,4 @@ golang.org/x/text/secure/bidirule diff --git a/patches/0007-Add-appinsights-telemetry.patch b/patches/0007-Add-appinsights-telemetry.patch index 1e48c16b69..89a3bd1059 100644 --- a/patches/0007-Add-appinsights-telemetry.patch +++ b/patches/0007-Add-appinsights-telemetry.patch @@ -40,7 +40,7 @@ index 71c9d1dc299388..8cab5daec4da54 100644 +these practices. \ No newline at end of file diff --git a/src/cmd/go/internal/telemetrystats/telemetrystats.go b/src/cmd/go/internal/telemetrystats/telemetrystats.go -index c6e58935bb0ee2..82651441fe61fd 100644 +index 763aed8bf46bda..f65ee56f627995 100644 --- a/src/cmd/go/internal/telemetrystats/telemetrystats.go +++ b/src/cmd/go/internal/telemetrystats/telemetrystats.go @@ -11,7 +11,12 @@ import ( @@ -72,9 +72,9 @@ index c6e58935bb0ee2..82651441fe61fd 100644 + } + } + - counter.Inc("go/platform/target/goos:" + cfg.Goos) - counter.Inc("go/platform/target/goarch:" + cfg.Goarch) counter.Inc("go/platform/target/port:" + cfg.Goos + "-" + cfg.Goarch) + switch cfg.Goarch { + case "386": diff --git a/src/cmd/go/main.go b/src/cmd/go/main.go index bba11a2fdeaaa6..641f8ea631d992 100644 --- a/src/cmd/go/main.go @@ -192,7 +192,7 @@ index 00000000000000..010270fb6ad4cf + return appInsightsRequests.Load() +} diff --git a/src/cmd/go/script_test.go b/src/cmd/go/script_test.go -index f84a42352c5768..7521ce3db4af9f 100644 +index c66d0179529637..38beab83d06401 100644 --- a/src/cmd/go/script_test.go +++ b/src/cmd/go/script_test.go @@ -62,6 +62,7 @@ func TestScript(t *testing.T) { @@ -203,7 +203,7 @@ index f84a42352c5768..7521ce3db4af9f 100644 var ( ctx = context.Background() -@@ -256,6 +257,10 @@ func scriptEnv(srv *vcstest.Server, srvCertFile string) ([]string, error) { +@@ -257,6 +258,10 @@ func scriptEnv(srv *vcstest.Server, srvCertFile string) ([]string, error) { "HGRCPATH=", "GOTOOLCHAIN=auto", "MS_GOTOOLCHAIN_ALLOW_NON_LOCAL=1", // allow non-local toolchains, some tests expect GOTOOLCHAIN to be honored @@ -214,7 +214,7 @@ index f84a42352c5768..7521ce3db4af9f 100644 "newline=\n", } -@@ -410,6 +415,11 @@ func checkCounters(t *testing.T, telemetryDir string) { +@@ -412,6 +417,11 @@ func checkCounters(t *testing.T, telemetryDir string) { t.Fatal("go was invoked but no counters were incremented") } }