Skip to content

Prevent stale assemblies in ProjectBuild packages#520

Merged
PrzemyslawKlys merged 3 commits into
mainfrom
codex/package-provenance
Jul 11, 2026
Merged

Prevent stale assemblies in ProjectBuild packages#520
PrzemyslawKlys merged 3 commits into
mainfrom
codex/package-provenance

Conversation

@PrzemyslawKlys

@PrzemyslawKlys PrzemyslawKlys commented Jul 10, 2026

Copy link
Copy Markdown
Member

Summary

ProjectBuild releases now rebuild package projects before packing and verify primary managed assemblies inside each NuGet package against the exact outputs from that fresh build. A stale bin/obj tree can no longer silently produce an older assembly under a newer package version.

What changed

  • use a non-incremental release build followed by dotnet pack --no-build for per-project packing
  • use Restore;Rebuild;Pack for the parallel MSBuild strategy
  • validate managed assemblies under lib/<tfm>, runtimes/<rid>/lib/<tfm>, and tools/<tfm>/any against exact evaluated target directories
  • exclude native runtime assets and metadata-only packages from managed assembly hashing
  • stop before package signing or publishing when a managed package payload does not match the fresh build
  • cover stale timestamps, imported target frameworks, stale nested publish outputs, tool packages, native assets, and metadata-only packages with regression tests
  • clarify CleanStaging, package provenance, and immutable-feed recovery in the schema, docs, and repository library-builder skill
  • rotate PSPublishModule release configuration to the current code-signing certificate and replace certificate-specific public examples with placeholders

Compatibility

No consumer configuration changes are required. Release builds intentionally trade incremental compilation for artifact correctness.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 548fa730d3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread PowerForge/Services/DotNetRepositoryReleaseService.PackageProvenance.cs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fe5e8491e7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread PowerForge/Services/DotNetRepositoryReleaseService.PackageProvenance.cs Outdated
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@PrzemyslawKlys
PrzemyslawKlys merged commit 970b3da into main Jul 11, 2026
6 checks passed
@PrzemyslawKlys
PrzemyslawKlys deleted the codex/package-provenance branch July 11, 2026 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant