-
Notifications
You must be signed in to change notification settings - Fork 17
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
Npm package publishing #138
Comments
Referenced in #218. The NPM publishing workflow exists in a state where the web app and extension are synchronized, and the dialogue between them hasn't been the source of breaking changes. The combination of protobuf spec changes and new testnet deployments, without publishing an updated extension, was the major source of breakage. Finalizing the protobuf spec penumbra-zone/penumbra#3720 helps, but there are still pain points related to web-related breaking changes if there's a mismatch between web app and state of the extension. One track we've discussed is a multi-branch workflow (which @hdevalence doesn't like) where we have a development branch that we merge things into instead of main acting as the deployment branch. The main branch would act as what's in production, and the dev branch would be what's in preview. This would increase the complexity of the workflow, but it's one method to reduce the number of breaking changes. @conorsch iirc, you already do this implicitly when we release a point release in the monorepo. Another track would be an additional manual github action, where the GitHub action would be a production web app deployment. We’d have the existing continuous deployments going to a preview, and the secondary one would be a manual action whenever we publish or there's an extension update. This has also been recently discussed as a viable option. |
At the moment, given things are in flux, we are simply deploying the web app + extension manually via github actions. However, maybe after a month or two, we should return to continuous deployment of the web app (assuming the messaging api is stable). This issue really had in mind third-party wallets (keplr, leap) that we eventually will want to expose all of our work. We want them (with fairly little effort) to be able to import and use these packages to enable using Penumbra for their users. However, at the moment, we aren't publishing them to npm. |
This tracking issue #729, with the broken down tasks, should be the new thing to track |
We need a strategy/method on how we publish our
@penumbra-zone/<package>
's. How often should we do this? Is there a way CI/CD can automatically detect diffs of packages and publish the new version?The text was updated successfully, but these errors were encountered: