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

Nudge users to enable incremental prebuilds when prebuilds duration is more than 10 minutes on average #10439

Open
gtsiolis opened this issue Jun 2, 2022 · 3 comments
Labels
component: dashboard feature: prebuilds meta: never-stale This issue can never become stale team: webapp Issue belongs to the WebApp team type: feature request New feature or request

Comments

@gtsiolis
Copy link
Contributor

gtsiolis commented Jun 2, 2022

Problem to solve

Currently, incremental prebuilds exist inside project settings as a toggle option users can enable for a project.

However, this feature is only referenced in one changelog entry[1] and slightly documented (see section in prebuilds docs).

See also relevant discussion (internal). Cc @atduarte @geropl @jankeromnes

Proposal

MVC Step 1

Similarly to #9232, we could detect when project prebuilds on average take longer than 10 minutes and nudge users to enable incremental prebuilds using an alert within the project prebuilds page.

We could use:

  1. A help alert component if this contains simply a tip that does not take into account usage but promotes a new feature, etc.
  2. An information alert component if this contains neutral information that could take into account product usage, etc.
  3. A warning alert component to help a user avoid an issue, in case skipping this could lead to excessive charging, see relevant discussion (internal).
Help Alert Information Alert Warning Alert
alert-help alert-info alert-warning

MVC Step 2

Additionally, although prebuilds eventually will be available to enable only via Projects, we could surface a similar alert on the workspace start page for repositories that have not been added as projects yet, nudging users to create a project and enable incremental prebuilds.

TBD (To be discussed)

@gtsiolis gtsiolis added type: feature request New feature or request component: dashboard feature: prebuilds team: webapp Issue belongs to the WebApp team labels Jun 2, 2022
@gtsiolis
Copy link
Contributor Author

gtsiolis commented Jun 3, 2022

Cross-posting from a relevant discussion (internal):

@jankeromnes: However, we should probably avoid this right now, especially for European pro[j]ects, because incremental will double the amount of network transfer when creating new prebuilds, and since prebuilds all run in the US, doubling our expensive EU-US network traffic could be expensive.

See also #6650 and https://github.com/gitpod-io/ops/issues/2595 (internal).

@stale
Copy link

stale bot commented Sep 9, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta: stale This issue/PR is stale and will be closed soon label Sep 9, 2022
@gtsiolis gtsiolis added meta: never-stale This issue can never become stale and removed meta: stale This issue/PR is stale and will be closed soon labels Sep 9, 2022
@jankeromnes
Copy link
Contributor

I believe this issue should now be rewritten to:

  • nudge users to enable "Use Last Successful Prebuild" instead
  • when their typical prebuild duration is more than their shortest time between new pushes

Then we could also try to suggest a reasonable "Skip Prebuilds" value, e.g.

  • if your prebuilds take 10min, and during a busy day you push a new change every 10min, then a "Skip Prebuilds" of 0 or 1 is fine
  • however, if your prebuilds take 45min, and during a busy day you push a new change every 5min, then you might want a "Skip Prebuilds" value of 9 or 10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: dashboard feature: prebuilds meta: never-stale This issue can never become stale team: webapp Issue belongs to the WebApp team type: feature request New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants