aws / aws/aws-dotnet-deploy

Enable deterministic builds and Source Link for produced NuGet packages

Open
#1,034 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
158
Forks
32
Avg merge
1d 23h
Merged PRs (30d)
4

Description

### Summary

The NuGet packages produced by this repository are not built deterministically and ship without [Source Link](https://learn.microsoft.com/dotnet/standard/library-guidance/sourcelink). As a result, package output is not reproducible and consumers cannot step into the shipped libraries from source-control metadata while debugging.

### Requested change

Enable deterministic builds and Source Link in the shared build configuration (e.g. `buildtools/common.props` / `Directory.Build.props`), matching the pattern already adopted across other AWS .NET libraries:

```xml

true

true
true
true

```

(The exact `Cicd`/CI gating condition should follow whatever this repo already uses to detect CI builds.)

### Why

- **Reproducible builds** — identical inputs produce identical package output.
- **Source Link** — debuggers can fetch the exact matching source from GitHub for the shipped packages.

### References

Same change applied in sibling repos:
- aws/aws-lambda-dotnet#2181
- aws/integrations-on-dotnet-aspire-for-aws#245
- Source Link enablement across the aws-dotnet-devex-pipelines libraries

Contributor guide

Open the contributing guide

Research direction

Start by inspecting buildtools/common.props and Directory.Build.props to find the shared package settings and the repository’s existing CI detection condition. Compare the configuration with the referenced sibling repositories, then build the NuGet packages and verify that deterministic-build and Source Link metadata are present in the produced packages.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.