Repository navigation
build(deps): updated Microsoft.SourceLink.GitHub to 10.0.303 - #17
Merged
Merged
Conversation
Every PR run of "Validate Package (PR)" has failed since the package validation baseline was set to the signed 2.0.0 release: the PR job packed unsigned assemblies, so ApiCompat reported CP0003 (public key token 9abfc39dbb2dd76a vs null) for every library and target framework. The PR pack therefore never proved anything. * pr-validate now passes sign-assembly: true, like the publish job, so the PR package is signed with the same key as the baseline * no new secret exposure: the validate job already materializes the same DOTNET_SIGNKEY_BASE64 key for PR builds via snk-file-path * runs without the key (Dependabot, forks) keep the template's unsigned fallback, i.e. behave exactly as before
Microsoft.SourceLink.GitHub 10.0.300 pulls Microsoft.Build.Tasks.Git 10.0.300, which is affected by GHSA-23fw-v26w-5fgq / CVE-2026-62900 (information disclosure, affected 10.0.300 - 10.0.301, fixed in 10.0.303). 10.0.303 is the serviced patch of the same feature band and itself depends on Microsoft.Build.Tasks.Git and Microsoft.SourceLink.Common 10.0.303, so the restore resolves the fixed version without any forced transitive pin. Why build and not fix: SourceLink is a build-time tool referenced with PrivateAssets="All" (developmentDependency). It never becomes a dependency of the published packages and does not change the shipped library code or API, so this commit deliberately cuts no release; it ships with the next feat/fix release.
|
🎉 This PR is included in version 2.2.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
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.
Why
Dependabot alerts #1 and #2 (medium):
Microsoft.Build.Tasks.Git10.0.300 is affected by GHSA-23fw-v26w-5fgq / CVE-2026-62900 (information disclosure; affected 10.0.300 - 10.0.301, first patched 10.0.303). It is not referenced directly; it comes in throughMicrosoft.SourceLink.GitHub10.0.300 (central package management,Directory.Packages.props).What
Two atomic commits:
ci(release): enabled assembly signing for the PR package validation: every PR run of Validate Package (PR) / Build & Pack has failed for months. Package validation compares against the signed 2.0.0 baseline, but the PR job packed unsigned assemblies, so ApiCompat reportedCP0003(public key token9abfc39dbb2dd76avsnull) for every library.pr-validatenow passessign-assembly: true, the same as the publish job. Secret exposure stays the same: thevalidatejob already writes the sameDOTNET_SIGNKEY_BASE64key for PR builds viasnk-file-path. Runs without the key (Dependabot, forks) still fall back to an unsigned build, as before.build(deps): updated Microsoft.SourceLink.GitHub to 10.0.303: this is the patched release of the same SDK feature band. Its nuspec depends onMicrosoft.Build.Tasks.Git10.0.303 andMicrosoft.SourceLink.Common10.0.303 (andSystem.IO.Hashing10.0.11), so restore resolves the fixed version without any forced transitive pin or override.Both commits use non-release types (
ci,build) on purpose. SourceLink is a build-time tool (PrivateAssets="All",developmentDependency): it never becomes a dependency of the published packages and leaves the shipped code and API unchanged. This does not mean the merge cuts no release. See the next section.Owner decision: merging this PR publishes 2.2.1
Merging this PR will cut and publish
v2.2.1of all 5 packages to NuGet.org and GitHub Packages. The release does not come from the two commits here. It comes from a release that is already waiting onmain:mainhas 4 commits sincev2.2.0(2026-07-07). One of them,73d80e2 fix(ci): added the missing permissions block, is afix..github/config/release/semantic-release.jsonsets noreleaseRules, so the template's standard rules apply, and they countfixas a patch..github/**, which thepushtrigger of this workflow ignores (paths-ignore: .github/**, *.md, docs/**). That is why no release run has started sincev2.2.0.Directory.Packages.props, so its merge starts the push pipeline: Build & Test, then Create Release (semantic-release finds73d80e2and cuts 2.2.1), then Publish (signed,push-to-nuget: true,push-to-github: true). The PR title and the merge method (squash, merge commit, rebase) do not change that.What 2.2.1 would contain:
src/has changed sincev2.2.0. It is rebuilt with SourceLink 10.0.303.BAUERGROUP.Shared.Core>= 3.1.0 instead of >= 3.0.8.Directory.Packages.propsfloats it as3.*, and 3.1.0 (published 2026-09-15) is now the newest 3.x. The pack in this PR's CI already resolved 3.1.0 and passed package validation (see the nuspecs in thenuget-packagesartifact of run 38095451457). Consumers still on Shared.Core 3.0.x would move to 3.1.0 through the transitive dependency.CHANGELOG.mdentry for73d80e2.Options:
mainthat touches anything outside.github/**,*.mdanddocs/**cuts it, with the sameShared.Core3.1.0 floor.Proof it does not break
dotnet restore: all 7 projects (5 libraries, 2 test projects) resolveMicrosoft.Build.Tasks.Git/10.0.303,Microsoft.SourceLink.Common/10.0.303andMicrosoft.SourceLink.GitHub/10.0.303inproject.assets.json. 10.0.300 is gone from the package folder.dotnet build -c Release: 0 errors. The only warnings are the 3 existingCS0612warnings (ERPProduct.VATobsolete), the same as onmain.e89161b, all green:microsoft.build.tasks.git/10.0.303. The solution built and 34/34 tests passed (32 unit tests, 2 integration tests).-p:SignAssembly=true). Build had 0 errors.dotnet packproduced all 5.nupkg+ 5.snupkg(2.2.0-pr.35), and package validation against the signed 2.0.0 baseline passed. TheCP0003failure that every earlier PR run hit is gone.nuget-packagesartifact) have no SourceLink dependency and a clean repository URL. CRM, DMS, ERP and Shipping depend onBAUERGROUP.Shared.Core3.1.0 (see the owner decision above).startup_failure.main's dependency set. This change did not introduce them.Left open
CP0003. Dependabot-triggered runs get only Dependabot secrets, so they fall back to unsigned builds. One fix: an admin addsDOTNET_SIGNKEY_BASE64as a Dependabot secret (owner decision). Until then, the auto-merge independabot-maintenance.yml, which requires this workflow to pass, merges nothing.microsoftgroup) also moves SourceLink, to 10.0.401. It will rebase on top of this PR and still needs its own review: it includes a BannedApiAnalyzers 4.x to 5.x major update.