0xMiden / 0xMiden/node

Breaking change detection

Open
#1,924 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
104
Forks
138
Avg merge
1d 13h
Merged PRs (30d)
56

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.