aws / aws/aws-extensions-for-dotnet-cli

Enable deterministic builds and Source Link for produced NuGet packages

Open Beginner friendly
#460 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
393
Forks
90
Avg merge
2d 19m
Merged PRs (30d)
3

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 reading buildtools/common.props and Directory.Build.props, then find the repository's existing CI detection condition for package builds. Apply the requested deterministic-build and Source Link settings consistently with that convention, and verify that produced NuGet packages are reproducible and contain usable Source Link metadata.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.