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

Managing breaking changes upstream #4102

Open
ehildenb opened this issue Mar 14, 2024 · 1 comment
Open

Managing breaking changes upstream #4102

ehildenb opened this issue Mar 14, 2024 · 1 comment

Comments

@ehildenb
Copy link
Member

Currently, when we have breaking changes in upstream repos, it can cause blockages in merging things downstream. Here we are recording the issues: #4090

There are three proposed solutions to this:

  • Monorepo: K Monorepo Planning #4063.
  • Auto-revert: When an _update-deps job fails, automatically open a PR into the upstream repo that reverts the given change there, and allow any developer to approve it so that it rolls the upstream repo back to a prior state.
  • Downstream testing: When a PR is approved for merge in an upstream repo, move it into a staging area and automatically open a PR downstream running the test-suite there. If that test-suite doesn't pass, kick the PR out of the staging area.

The monorepo for all of K solves this issue for dependencies of any depth, but the other ones only solve it for depth 1.

  • Auto-revert approach: on test-pr.yml, anything that should trigger auto-revert upstream adds a failure block which:
    • Checks the branch. If it's _update-deps/runtimeverification/..., then it figures out which repo sent that update, and tags the devops repo to open a PR into that repo with the revert of that latest commit.
@Baltoli
Copy link
Collaborator

Baltoli commented Mar 21, 2024

Blocked on merging:

  • Haskell backend + booster
  • Pyk + K

This may also be of limited usefulness for deeper dependency chains.

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