aws / aws/aws-dotnet-ai

Complete Source Link config: add deterministic build, CI build, and explicit SourceRoot

Open
#71 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
8
Forks
4
Avg merge
21h 1m
Merged PRs (30d)
7

Description

### Summary

This repository already references `Microsoft.SourceLink.GitHub` and sets `PublishRepositoryUrl` / `EmbedUntrackedSources`, so basic Source Link works. However, it is missing several elements of the canonical Source Link + deterministic-build configuration now standardized across the AWS .NET libraries (see aws/integrations-on-dotnet-aspire-for-aws#245):

- **`true`** — explicit (not relying on the SDK default).
- **CI-gated ``** — currently absent, so CI builds are not path-normalized/fully reproducible and build-agent paths can leak into the PDB.
- **Explicit ``** — needed because the AWS release pipeline packs from a source archive **without a `.git` directory**; without it Source Link cannot derive the repository root and emits no commit-pinned document map.

### Requested change

Bring the build configuration up to the template. Prefer consolidating into a shared `Directory.Build.props` (and `Directory.Packages.props` if using central package management) rather than duplicating across each `.csproj`:

```xml

git
true
true
true
true

```

### Why

Reproducible builds and reliable commit-pinned Source Link for the shipped NuGet packages, consistent with the rest of the AWS .NET library set.

### References

- Canonical template: aws/integrations-on-dotnet-aspire-for-aws#245
- Pipeline build-script revision support: aws/aws-dotnet-devex-pipelines#197

Contributor guide

Open the contributing guide

Research direction

Start by locating the repository's Directory.Build.props, Directory.Packages.props, project files, and CI build configuration, then compare them with the canonical template in aws/integrations-on-dotnet-aspire-for-aws#245. Confirm that deterministic builds, CI-gated ContinuousIntegrationBuild, the SourceLink package, and guarded SourceRoot are represented once in the shared configuration, and verify that the CI/package build produces commit-pinned Source Link data from a source archive.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, git, github
Domain
build-system, ci-cd
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.