Skip to content

Conversation

@filiptronicek
Copy link
Member

Description

Defines an API to list all prebuilds across all configurations in an organization.

The API will be helpful in the upcoming global prebuilds history page, powering the list of all prebuilds. Eventually, we would also like to have a filter param for searching by configuration name.

Related Issue(s)

Fixes EXP-1115

Documentation

Preview status

gitpod:summary

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

@roboquat roboquat added size/XL and removed size/L labels Jan 11, 2024
Copy link
Member Author

Choose a reason for hiding this comment

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

This is the only relevant file, unfortunately, all of the generated files felt like updating the year.

@filiptronicek filiptronicek marked this pull request as ready for review January 12, 2024 10:17
@filiptronicek filiptronicek requested a review from a team as a code owner January 12, 2024 10:17
@roboquat roboquat added size/L and removed size/XL labels Jan 12, 2024
rpc WatchPrebuild(WatchPrebuildRequest) returns (stream WatchPrebuildResponse) {}

// ListOrganizationPrebuilds lists all prebuilds of an organization
rpc ListOrganizationPrebuilds(ListOrganizationPrebuildsRequest) returns (ListOrganizationPrebuildsResponse) {}
Copy link
Contributor

Choose a reason for hiding this comment

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

Ideally we would enhance the ListPrebuilds call with a scope argument that can be organization level or configuration level

Copy link
Member Author

Choose a reason for hiding this comment

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

@svenefftinge I agree it would be unfortunate if we have to introduce another method when ListPrebuilds sounds like it should cover both. I don't have an issue with merging the props, although some like workspace_id and git_ref I would like to get rid of for our global prebuild use cases (at least for now).
Best would most likely be to redo the ListPrebuilds method entirely so that it supports proper pagination and supports filters. I am not sure if it would be fine to break this one, but I assume it's fine since nobody is using it externally, so refactoring our Projects code should be enough.

Originally, I separated this into its own method because I thought the effort on backporting the changes onto ListPrebuilds is too high, but think that your point about using just one method for all listings makes sense.

If we do decide to go with only ListPrebuilds, I think a configurationId filter would fit in nicely as well (or are there any clear advantages of having a scope for this?). This would enable us to add a dropdown for the desired configuration to the global list in the future.

@roboquat roboquat merged commit 723d57a into main Jan 22, 2024
@roboquat roboquat deleted the ft/global-prebuilds-definitions branch January 22, 2024 17:45
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.

6 participants