aws / aws/aws-dotnet-messaging
Complete Source Link config: add deterministic build, CI build, and explicit SourceRoot
- Dominant language
- C#
- Stars
- 143
- Forks
- 27
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 4
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
Research direction
Start by inspecting the repository's Directory.Build.props, Directory.Packages.props, and project files to find the existing Source Link settings and package references. Compare them with the requested template, then validate a CI-style build and package creation. Done means deterministic settings, CI path normalization, and commit-pinned Source Link metadata work for builds from a source archive without .git.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system, ci-cd
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100