Amazon.Lambda.Core is not deterministic

Open
#2,181 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

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

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.

Description

feature-request module/lambda-client-lib p2 queued
Describe the bug

Viewing Amazon.Lambda.Core 2.8.0 in NuGet Package Explorer 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:

Image
Current Behavior

NuGet package is not deterministic:

Image
Reproduction Steps

View the NuGet package in NuGet Package Explorer.

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

Dominant language
C#
Stars
1.7k
Forks
503
Avg merge
1d 18h
Merged PRs (30d)
21

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from aws/aws-lambda-dotnet

All issues in aws/aws-lambda-dotnet

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.