Enable deterministic builds and Source Link for produced NuGet packages - #461
Draft
GarrettBeatty wants to merge 1 commit into
Draft
GarrettBeatty wants to merge 1 commit into
GarrettBeatty wants to merge 1 commit into
Conversation
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 #460
Enables deterministic builds and Source Link for the produced NuGet packages (
Amazon.ECS.Tools,Amazon.ElasticBeanstalk.Tools,Amazon.Lambda.Tools) so debuggers can step into shipped sources and package output is reproducible. Follows the canonical template aws/integrations-on-dotnet-aspire-for-aws#245.Changes
buildtools/common.props(the shared props imported by the four packablesrc/projects):RepositoryUrl+RepositoryType=git,PublishRepositoryUrl=true,EmbedUntrackedSources=true,Deterministic=trueContinuousIntegrationBuildgated on a portable multi-signal CI condition:'$(CI)' == 'true' or '$(TF_BUILD)' == 'true' or '$(CODEBUILD_BUILD_ID)' != ''Microsoft.SourceLink.GitHub8.0.0PackageReference(PrivateAssets=all)SourceRootItemGroup guarded on'$(SourceRevisionId)' != ''— AWS release pipelines pack from a.git-less source archive, so Source Link emits nothing without it; the guard keeps local dev builds unaffected.autover/changes/*.json— Patch entry for the three packable projectsReviewer notes
buildtools/common.props(this repo's established shared-props convention, imported only by the four packablesrc/projects) rather than adding a rootDirectory.Build.props, which would wrongly scope the SourceLink reference onto thetest//testapps/projects.CODEBUILD_BUILD_IDautomatically, so the portable condition activates with no buildspec changes.Directory.Packages.props) → single versionedPackageReference.Amazon.Lambda.ToolswithCODEBUILD_BUILD_IDset —ContinuousIntegrationBuild=true,Deterministic=true, and the nuspec carries<repository type="git" url="https://github.com/aws/aws-extensions-for-dotnet-cli" branch="refs/heads/gcbeatty/issue-460-fix" commit="885db76..." />. Without CI env vars,ContinuousIntegrationBuildstays unset (local dev unaffected).Opened as a draft.