Skip to content

decouple gitpod-protocol from public-api #19151

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

Merged
merged 1 commit into from
Nov 29, 2023

Conversation

akosyakov
Copy link
Member

@akosyakov akosyakov commented Nov 27, 2023

Description

To prevent rebuilding of components which dependent on gitpod-protocol, but not public-api on an API change, e.g. supervisor and ws-manager-bridge.

Summary generated by Copilot

🤖[deprecated] Generated by Copilot at 4db6e0d

This pull request refactors the public API code to use a new @gitpod/public-api-common package that contains common types and utilities for TypeScript clients. It also updates the imports and dependencies of the components/dashboard and components/gitpod-protocol packages accordingly. The goal of this refactoring is to avoid circular dependencies and duplication in the public API code.

Related Issue(s)

Fixes #

How to test

Smoke test against JSON-RPC and gRPC.

Documentation

Preview status

https://ak-public-e21d393f1f.preview.gitpod-dev.com/workspaces

Build Options

Build
  • /werft with-werft
    Run the build with werft instead of GHA
  • leeway-no-cache
  • /werft no-test
    Run Leeway with --dont-test
Publish
  • /werft publish-to-npm
  • /werft publish-to-jb-marketplace
Installer
  • analytics=segment
  • with-dedicated-emulation
  • workspace-feature-flags
    Add desired feature flags to the end of the line above, space separated
Preview Environment / Integration Tests
  • /werft with-local-preview
    If enabled this will build install/preview
  • /werft with-preview
  • /werft with-large-vm
  • /werft with-gce-vm
    If enabled this will create the environment on GCE infra
  • /werft preemptible
    Saves cost. Untick this only if you're really sure you need a non-preemtible machine.
  • with-integration-tests=all
    Valid options are all, workspace, webapp, ide, jetbrains, vscode, ssh. If enabled, with-preview and with-large-vm will be enabled.
  • with-monitoring

/hold

Copy link

Removed dependencies detected. Learn more about Socket for GitHub ↗︎

🚮 Removed packages: @testdeck/[email protected]

to prevent rebuilding of components which dependent on gitpod-protocol, but not public-api on an API change
@akosyakov akosyakov force-pushed the ak/public_api_decouple_protocol branch from 4db6e0d to b9d062e Compare November 28, 2023 20:13
@akosyakov akosyakov marked this pull request as ready for review November 28, 2023 20:51
@akosyakov akosyakov requested a review from a team as a code owner November 28, 2023 20:51
"ts"
],
"exit": true
"build:esm": "tsc --module es2015 --outDir ./lib/esm"
},
"dependencies": {
"@connectrpc/connect-node": "1.1.2",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is unrelated, but these dependencies are not strictly required, and not necessary in case of browser for instance

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a feeling we are better to remove it and let a client to decide which version to use in their context.

@@ -0,0 +1,36 @@
{
"name": "@gitpod/public-api-common",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@akosyakov Personally I would love to see a README.md next to this file, which explains the "WHY does this package exist, how it compares to gitpod-protocol, and "which package to choose for what"".

Can be a follow-up 👍

Copy link
Member

@geropl geropl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️ to unblock

@akosyakov
Copy link
Member Author

/unhold

@roboquat roboquat merged commit 2f14d7a into main Nov 29, 2023
@roboquat roboquat deleted the ak/public_api_decouple_protocol branch November 29, 2023 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants