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

SDK: Move out of the monorepo to bump major version #32625

Open
8 tasks
joncinque opened this issue Jul 25, 2023 · 3 comments
Open
8 tasks

SDK: Move out of the monorepo to bump major version #32625

joncinque opened this issue Jul 25, 2023 · 3 comments
Assignees

Comments

@joncinque
Copy link
Contributor

joncinque commented Jul 25, 2023

Problem

This is a response to issues like #32503 -- the upgrade to 1.16 was very painful for program developers because of the breaking changes between 1.14 and 1.16.

Since then, we've introduced more breaking changes into the SDK with #32524

To make the developer experience better, we have to properly version the sdk crates.

Proposed Solution

The options are either to move the sdk out of the monorepo, or version the sdk crates separately within the monorepo. The second option can get us into tricky situations if we ever need to backport a breaking change in the sdk. There isn't a desire to bump major versions in all the core crates on breaking changes just yet, but that will probably impact much fewer people. Because of all that, we'll opt for the first path: moving the sdk out of the monorepo!

Here's the list of tasks:

  • move unnecessary types out of the SDK and into other core crates (ie. Packet)
  • create new repo with solana-program, solana-sdk, solana-sdk-macro, solana-frozen-abi, and solana-frozen-abi-macro.
  • setup CI for version bumps + crate publish. No other jobs seem to be needed.
  • bump the new repo to 2.0.0 and publish the crates
  • add a changelog to the new repo, at least for breaking changes
  • add a patch script to the monorepo for easy local development
  • move the monorepo to use the new 2.0.0 crates, remove all the SDK code
  • have fewer people yelling on twitter X

Hopefully this will go quite quickly, and we won't have to rebase on monorepo changes too much during the transition period. But if we have to, c'est la vie !

cc @willhickey for CI and publishing jobs, @jacobcreech for devrel stuff

@t-nelson
Copy link
Contributor

-have fewer people yelling on ~twitter~ X
+have people on ~twitter~ X yelling about this breaking change instead of another one

@yihau
Copy link
Member

yihau commented Jul 27, 2023

I can help with the CI. just let me know when the repo is ready 🫶

@jacobcreech
Copy link
Contributor

@joncinque is this still planned at some point?

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

4 participants