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

enable independent releases of soroban-rpc and soroban-cli #1115

Closed
mollykarcher opened this issue Dec 6, 2023 · 6 comments
Closed

enable independent releases of soroban-rpc and soroban-cli #1115

mollykarcher opened this issue Dec 6, 2023 · 6 comments
Assignees
Labels
cli Related to Soroban CLI

Comments

@mollykarcher
Copy link
Contributor

What problem does your feature solve?

Currently, RPC and CLI are always versioned together when released. These are different products with different release lifecycles. It's likely that CLI will have a tendency to iterate faster than RPC as soroban matures. However, if CLI-only changes are made, RPC still gets version bumped. This means that semantic versioning can't be properly followed for both of these tools.

What would you like to see?

A release process / CD pipeline that allows us to independently version and release soroban-rpc and soroban-cli.

What alternatives are there?

  • Move them into separate repos entirely
  • Keep versioning them together. It's not clear to me what benefit this provides, but all ears if someone has more context
@mollykarcher mollykarcher moved this from Backlog to Next Sprint Proposal in Platform Scrum Dec 6, 2023
@mollykarcher mollykarcher added this to the Soroban Pubnet Release milestone Dec 6, 2023
@leighmcculloch
Copy link
Member

All of the Rust repos in the @stellar org share the same release process. Rather than introduce a new release process for the CLI to support releasing the CLI + RPC independently from within the same repo, I'd like to see it maintain the same release process that the Rust repos use. Rust projects are not trivial to release, and over time having a single release process for all our Rust projects will help us maintain a consistent and secure release process for these projects.

@leighmcculloch
Copy link
Member

I also think that by bundling the two together we're placing unnecessary emphasis on the soroban-cli being a client of the RPC, when over time I think the CLI is going to encompass much much more, and it's functionality interacting with the RPC will just be one aspect.

@janewang
Copy link
Contributor

janewang commented Dec 7, 2023

Agreed, I believe the plan is to restructure this repo. CLI will live in its own repo, be renamed from Soroban CLI to Stellar CLI, has a README available at the top level, and has its own release cadence.

@willemneal
Copy link
Member

I split the RPC into its own crate in this PR #1065. Which is the first step toward your last point.

@leighmcculloch
Copy link
Member

leighmcculloch commented Dec 7, 2023

CLI will live in its own repo

+1. For the sake of preserving the most git history and git sha's possible, and github binary releases, I suggest we keep this repo as the soroban-cli, because this repo started out as the soroban-cli repo and has release processes htat upload artifacts that are attached to this repo. Later on soroban-rpc was moved into this repo and it piggy backed on the soroban-cli's release process.

@mollykarcher mollykarcher added the cli Related to Soroban CLI label Dec 14, 2023
@mollykarcher mollykarcher moved this from Next Sprint Proposal to Current Sprint in Platform Scrum Jan 4, 2024
@stellarsaur stellarsaur self-assigned this Jan 9, 2024
@stellarsaur stellarsaur moved this from Current Sprint to In Progress in Platform Scrum Jan 16, 2024
@github-project-automation github-project-automation bot moved this to Backlog in DevX Jan 29, 2024
@mollykarcher mollykarcher moved this from Backlog to In Progress in DevX Jan 29, 2024
@stellarsaur
Copy link
Contributor

As of now, we're able to release Soroban RPC separately from CLI.

Please refer to this tracking issue for what's left in terms of clean up

@github-project-automation github-project-automation bot moved this from In Progress to Done in DevX Feb 2, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in Platform Scrum Feb 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cli Related to Soroban CLI
Projects
Status: Done
Status: Done
Development

No branches or pull requests

6 participants
@leighmcculloch @janewang @willemneal @mollykarcher @stellarsaur and others