Skip to content

Simplify compile-time package trimming - #498

Draft
Alphasite wants to merge 2 commits into
feature/compile-time-packagesfrom
simplify/compile-time-packages
Draft

Alphasite wants to merge 2 commits into
feature/compile-time-packagesfrom
simplify/compile-time-packages

Conversation

@Alphasite

@Alphasite Alphasite commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Simplifies #496 while preserving its opt-in behavior and package identities. Targets Chris's feature/compile-time-packages branch.

Dependency-key generation and dropped-dependency detection share one traversal. The writer uses the manifest's source packages directly and retains an explicit trimming option. Job archive validation is unchanged from #496.

Review feedback is addressed with Ginkgo tables, gstruct assertions, and shared archive test helpers. The fixture suite runs both committed fixtures and every tarball supplied through FIXTURES.

Production diff against #496's merge base: 306 added + 13 removed = 319 changed lines, excluding vendor files and tests.

Validation:

  • go test -race -tags fixtures ./releasetarball ./main passed, including new validation regression cases.
  • External fixture discovery passed with an arbitrary tarball filename.
  • Temporary comparisons against Proposal: trim compile-only packages from compiled releases #496 matched 5,000 generated dependency graphs, 24 job archive cases including diagnostics, and 16 output archive variants byte-for-byte.
  • goimports and git diff --check passed.

Build dependency keys and detect trimmed dependencies in one traversal. Remove redundant writer state and validate job packages as their manifests are read.

Use Ginkgo tables, explicit fixtures and gstruct assertions; consolidate archive test helpers. Preserve existing identity vectors and keep the complete non-vendored production diff within 300 changed lines.
@coderabbitai

coderabbitai Bot commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Restore the original job archive validation path and explicit trimming option. Keep external FIXTURES discovery alongside the committed table entries, and name fingerprint payload components for readability.

Add regression cases for empty manifests and validation order. The complete non-vendored production diff is 319 changed lines under the approved 320-line budget.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant