Set ms-go-build as default GOCACHE#1998
Merged
qmuntal merged 3 commits intomicrosoft/mainfrom Dec 11, 2025
Merged
Conversation
Member
|
@qmuntal test failures |
gdams
approved these changes
Dec 11, 2025
rdesgroppes
added a commit
to DataDog/datadog-agent
that referenced
this pull request
Mar 4, 2026
### What does this PR do? Reapply #47007, reverted in #47083 following #incident-50242, but with the following adjustments: 1. scope repository caches to individual jobs (`$CI_JOB_NAME`) rather than runner types (`$CI_RUNNER_DESCRIPTION`), 2. add `.cache/ms-go*` to the cached paths (neutral until `msgo` 1.26+). ### Motivation #incident-50242 traced to FIPS and non-FIPS omnibus jobs racing to write incompatible Go build artifacts to the same cache key: `msgo` tags indeed compile objects with `X:systemcrypto` while upstream Go does not. It turns out to be a **known issue**: microsoft/go#1994. Until the corresponding fix is available (microsoft/go#1998), that is when bumping the Go SDK version to 1.26+, the main adjustment consists in temporarily scoping repository caches to jobs. Per-job cache keys naturally segregate the two without requiring an explicit FIPS discriminator (we couldn't rely on `$FLAVOR` because it's not expanding consistently across jobs). ### Additional Notes When switching to Go SDK 1.26+, we'll revert `$CI_RUNNER_DESCRIPTION` because `msgo` 1.26+ will eliminate the conflict at the toolchain level thanks to microsoft/go#1998.
rdesgroppes
added a commit
to DataDog/datadog-agent
that referenced
this pull request
Mar 4, 2026
### What does this PR do? Reapply #47007, reverted in #47083 following #incident-50242, but with the following adjustments: 1. scope repository caches to individual jobs (`$CI_JOB_NAME`) rather than runner types (`$CI_RUNNER_DESCRIPTION`), 2. add `.cache/ms-go*` to the cached paths (neutral until `msgo` 1.26+). ### Motivation #incident-50242 traced to FIPS and non-FIPS omnibus jobs racing to write incompatible Go build artifacts to the same cache key: `msgo` tags indeed compile objects with `X:systemcrypto` while upstream Go does not. It turns out to be a **known issue**: microsoft/go#1994. Until the corresponding fix is available (microsoft/go#1998), that is when bumping the Go SDK version to 1.26+, the main adjustment consists in temporarily scoping repository caches to jobs. Per-job cache keys naturally segregate the two without requiring an explicit FIPS discriminator (we couldn't rely on `$FLAVOR` because it's not expanding consistently across jobs). ### Additional Notes When switching to Go SDK 1.26+, we'll revert `$CI_RUNNER_DESCRIPTION` because `msgo` 1.26+ will eliminate the conflict at the toolchain level thanks to microsoft/go#1998.
rdesgroppes
added a commit
to DataDog/datadog-agent
that referenced
this pull request
Mar 4, 2026
### What does this PR do? Reapply #47007, reverted in #47083 following #incident-50242, but with the following adjustments: 1. scope repository caches to individual jobs (`$CI_JOB_NAME`) rather than runner types (`$CI_RUNNER_DESCRIPTION`), 2. add `.cache/ms-go*` to the cached paths (neutral until `msgo` 1.26+). ### Motivation #incident-50242 traced to FIPS and non-FIPS omnibus jobs racing to write incompatible Go build artifacts to the same cache key: `msgo` tags indeed compile objects with `X:systemcrypto` while upstream Go does not. It turns out to be a **known issue**: microsoft/go#1994. Until the corresponding fix is available (microsoft/go#1998), that is when bumping the Go SDK version to 1.26+, the main adjustment consists in temporarily scoping repository caches to jobs. Per-job cache keys naturally segregate the two without requiring an explicit FIPS discriminator (we couldn't rely on `$FLAVOR` because it's not expanding consistently across jobs). ### Additional Notes When switching to Go SDK 1.26+, we'll revert `$CI_RUNNER_DESCRIPTION` because `msgo` 1.26+ will eliminate the conflict at the toolchain level thanks to microsoft/go#1998.
gh-worker-dd-mergequeue-cf854d bot
pushed a commit
to DataDog/datadog-agent
that referenced
this pull request
Mar 4, 2026
### What does this PR do? Reapply #47007, reverted in #47083 following #incident-50242, but with the following adjustments: 1. scope repository caches to individual jobs (`$CI_JOB_NAME`) rather than runner types (`$CI_RUNNER_DESCRIPTION`), 2. add `.cache/ms-go*` to the cached paths (neutral until `msgo` 1.26+). ### Motivation #incident-50242 traced to FIPS and non-FIPS omnibus jobs racing to write incompatible Go build artifacts to the same cache key: `msgo` tags indeed compile objects with `X:systemcrypto` while upstream Go does not. It turns out to be a **known issue**: microsoft/go#1994. Until the corresponding fix (microsoft/go#1998) is available, that is when bumping the Go SDK version to 1.26+, the main adjustment consists in temporarily scoping repository caches to jobs. Per-job cache keys naturally segregate the two without requiring an explicit FIPS discriminator (we couldn't rely on `$FLAVOR` because it's not expanding consistently across jobs). ### Additional Notes When switching to Go SDK 1.26+, we'll revert `$CI_RUNNER_DESCRIPTION` because `msgo` 1.26+ will eliminate the conflict at the toolchain level thanks to microsoft/go#1998. Co-authored-by: regis.desgroppes <regis.desgroppes@datadoghq.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1994