Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documented diff support #228

Open
4 tasks
msuozzo opened this issue Dec 19, 2024 · 1 comment
Open
4 tasks

Documented diff support #228

msuozzo opened this issue Dec 19, 2024 · 1 comment
Assignees

Comments

@msuozzo
Copy link
Member

msuozzo commented Dec 19, 2024

Enable reporting of non-exact rebuilds by adding support for documenting expected, benign differences (like local files or docs formatting changes) in build definitions while maintaining our existing trust model. Our end state should look something like this:

  • Build definitions can specify expected benign differences
  • Stabilizer handles documented diffs
  • ArtifactEquivalence includes diff specifications

Tasks

  • Add stabilizer config to ArtifactEquivalence attestation
  • Implement diff support as a Stabilizer
    • Define diff config in opts
    • Add diff support to stabilizer logic
  • Add diff specification to build definition
    • Support full file exclusion and per-file diff exclusion
    • Make a higher-level build def construct aggregating StrategyOneOf and Diff config
  • Define review guidelines for permissible diffs

Future

Looking forward, we're thinking of publishing "negative attestations" for packages we expect to be able to rebuild that fail to do so. This will provide externval visibility into potentially interesting rebuild variations.

@msuozzo msuozzo self-assigned this Jan 8, 2025
@wbxyz
Copy link
Member

wbxyz commented Jan 8, 2025

Related to the future work, we can sort out which packages we want to commit to supporting in #245 and we can discuss the negative attestations or RebuildFailure attestation type in #247

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

No branches or pull requests

2 participants