aws / aws/aws-lambda-dotnet

Amazon.Lambda.Core is not deterministic

Open
#2,181 2 comments 0 reactions 0 assignees View on GitHub
feature-request module/lambda-client-lib p2 queued
Dominant language
C#
Stars
1.7k
Forks
503
Avg merge
1d 18h
Merged PRs (30d)
21

Description

### Describe the bug

Viewing [Amazon.Lambda.Core 2.8.0 in NuGet Package Explorer](https://nuget.info/packages/Amazon.Lambda.Core/2.8.0) shows various warnings about the build of the package with respect to Source Link and determinism:

Image

The NuGet packages should be built with `ContinuousIntegrationBuild=true` and `Deterministic=true` to resolve this.

.NET global tools such as `dotnet-validate` and `meziantou.framework.nugetpackagevalidation.tool` can be used to verify this.

For Amazon.Lambda.Core at least, this doesn't appear to be a regression and these have never been enabled.

### Regression Issue

- [ ] Select this option if this issue appears to be a regression.

### Expected Behavior

Packages should be deterministic, e.g. [OpenTelemetry.Instrumentation.AWSLambda@1.13.0](https://nuget.info/packages/OpenTelemetry.Instrumentation.AWSLambda/1.13.0):

Image

### Current Behavior

NuGet package is not deterministic:

Image

### Reproduction Steps

View the NuGet package in [NuGet Package Explorer](https://nuget.info/packages/Amazon.Lambda.Core/2.8.0).

### Possible Solution

Set `ContinuousIntegrationBuild=true` and `Deterministic=true` MSBuild properties when building the NuGet packages for publishing to NuGet.org.

### Additional Information/Context

_No response_

### AWS .NET SDK and/or Package version used

Amazon.Lambda.Core 2.8.0

### Targeted .NET Platform

All

### Operating System and version

All

Contributor guide

Open the contributing guide

Research direction

The issue names no source file or test; start by locating the build configuration used to publish Amazon.Lambda.Core 2.8.0. Validate a built package with dotnet-validate or meziantou.framework.nugetpackagevalidation.tool, and consider the work done when the package reports ContinuousIntegrationBuild and Deterministic compliance.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.