Add docs for Deterministic and DeterministicTimestamp#3578
Conversation
|
Learn Build status updates of commit 896aebb: ✅ Validation status: passed
For more details, please refer to the build report. |
PoliCheck Scan ReportThe following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans. ✅ No issues foundMore information about PoliCheckInformation: PoliCheck | Severity Guidance | Term |
|
|
||
| Build packages in deterministic mode. This produces bit-identical packages for the same input (source code, project file, build configuration), with a known caveat of timestamps. See `DeterministicTimestamp` on how to reproduce with identical date/times. | ||
|
|
||
| - **`-DeterministicTimestamp`** |
There was a problem hiding this comment.
both of these new arguments need to specify that it's available from NuGet 7.9. See options -ForceEnglishOutput, -MSBuildPath, -MSBuildVersion, and -Suffix for examples how we did that for other options.
| | `NuspecProperties` | Semicolon separated list of key=value pairs. For more information, see [Packing using a .nuspec](#packing-using-a-nuspec-file). | | ||
| | `Deterministic` | This Boolean value specifies whether to enable deterministic mode and use the same timestamp for all files added to a package. | | ||
| | `DeterministicTimestamp` | This string value specifies a timestamp that's used as the file modification date/time for all files added to the NuGet package. It can be a date/time in RFC 3339 format (such as `1996-12-19T16:39:57-08:00`), it can be the number of non-leap seconds since 00:00:00 UTC on 1 Jan 1970 (also known as the Unix time), it can be the special string `true` (default, use the current wall clock time), or `false` to not modify file times when creating deterministic packages. This option is ignored if `Deterministic` is not `true`. | | ||
| | `SOURCE_DATE_EPOCH` | Specifies the number of non-leap seconds since 00:00:00 UTC on 1 Jan 1970 (also known as the Unix time). This is used automatically in place of `DeterministicTimestamp` if that's not defined and `SOURCE_DATE_EPOCH` is. See [the `SOURCE_DATE_EPOCH` specification](https://reproducible-builds.org/docs/source-date-epoch/) | |
There was a problem hiding this comment.
These also need comments to specify that it's only available from NuGet 7.9. Some of the other rows have examples of how it's specified in this document.
nkolev92
left a comment
There was a problem hiding this comment.
Thanks for starting this doc.
896aebb to
9ca6f74
Compare
PoliCheck Scan ReportThe following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans. ✅ No issues foundMore information about PoliCheckInformation: PoliCheck | Severity Guidance | Term |
|
Learn Build status updates of commit 9ca6f74:
|
| File | Status | Preview URL | Details |
|---|---|---|---|
| docs/create-packages/deterministic-packages.md | View | Details | |
| docs/create-packages/creating-a-package-dotnet-cli.md | 💡Suggestion | View | Details |
| docs/reference/cli-reference/cli-ref-pack.md | ✅Succeeded | View | |
| docs/reference/msbuild-targets.md | ✅Succeeded | View |
docs/create-packages/deterministic-packages.md
- Line 2, Column 1: [Warning: ms-author-missing - See documentation]
Missing required attribute: 'ms.author'. Add the current author's Microsoft alias. - Line 4, Column 9: [Warning: author-not-found - See documentation]
Invalid value for author: 'Omair Majid' is not a valid GitHub ID.
docs/create-packages/creating-a-package-dotnet-cli.md
- Line 14, Column 61: [Suggestion: link-missing]
Markdown Link source should not be empty.
For more details, please refer to the build report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For details about this, see:
https://github.com/NuGet/Home/blob/dev/accepted/2026/deterministic-pack-revisited.md