Skip to content

Enhancement for repo snapshots modification safety #798

Open
@schneems

Description

@schneems

A concern of the current approach (if I'm understanding it correctly) in #796 is that it relies on the programmer's diligence to rev the filename whenever they modify the formula.

I would suggest either:

  • Using a SHA of the build formula file so if anything is changed (even if it doesn't affect the final outcome) will generate a different version. The upside is that there's a single point of truth (DRY SPOT) for changes. The downside is that it would require changes with how the "latest" version is picked (from the docs, currently it's the highest number). I chose to do something vaguely like this in Generate Inventory & Sha7 appended filenames for binaries docker-heroku-ruby-builder#51.

Or alternatively

  • Adding a CI task like the skip-changelog check that checks if a file is modified without being renamed. This allows a developer to still "skip" the failing check if modifications shouldn't affect the outcome, but would help prevent careless errors. This would be much easier, but also prone to human errors. Perhaps they make one modification that's okay and flag the PR "No Modified Build Formulae," but then, due to feedback, they end up making a breaking/changing modification, and everyone forgets to un-check the box.

Timing and priority-wise, it's not urgent (it would not have been a blocker), but I think it is important that we guard/guide maintainers/contributors towards doing the right thing. Implementation-wise, I would lean towards simpler being better.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions