Skip to content

Breaking change detection #1924

@Mirko-von-Leipzig

Description

@Mirko-von-Leipzig

I'd like to have the latest release and the dev branch be the same for longer. That is, not immediately branching off at the moment of release, but rather only on a breaking change.

To facilitate this, I think we can add a rudimentary but effective change detection gh workflow.

This is slightly different to other miden repos since the node is essentially a binary executable and not a library.

imo we have the following api surface:

  1. gRPC API external (RPC)
  2. node CLI
  3. protocol version
  4. breaking semantics
  5. Docker compose API for local node

Optionally, we could also include internal grpc API in case operators want to mix and match internal component versions. I will argue this is not necessary at this point.

Workflow outline

  • Workflow runs on every PR to next/dev
  • Detects possible breaking change
  • Adds a warning comment on the PR describing breaks found
  • Fails PR unless PR includes opt-out label (same as current changelog workflow)

Change detection

We can use the following

  1. buf cli has this built in
  2. Git diff on relevant files, or a unit snapshot test which checks the help output of the cli for changes
  3. Git diff of lockfile and toml
  4. This will have to be manual
  5. Git diff

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