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

Epic: Incremental Workspaces #12582

Closed
4 tasks done
Tracked by #13754
svenefftinge opened this issue Sep 1, 2022 · 2 comments
Closed
4 tasks done
Tracked by #13754

Epic: Incremental Workspaces #12582

svenefftinge opened this issue Sep 1, 2022 · 2 comments
Assignees
Labels
team: webapp Issue belongs to the WebApp team type: epic

Comments

@svenefftinge
Copy link
Member

svenefftinge commented Sep 1, 2022

Starting prebuilds should be as fast as possible.

Incremental Workspaces would allow starting a workspace using a prebuild that ran for an older commit (based on commit history) and then run the init tasks on top of that when the workspace starts. This allows benefitting from the caching on the file system just like you would in a local dev environment.

Activating this behavior would mean that users never get to see the 'prebuild in flight' view anymore as we would ignore non-finished rebuilds and only consider finished ones when starting a workspace.

Disclaimer: I am aware that in some cases where the workspace is really large, loading prebuild data can take more time than the actual full build. So it would be desired to not use prebuilds at all.

internal RFC https://www.notion.so/gitpod/Incremental-Workspaces-08507a1d569c4c15ba6493d7380a5637
Related to #12583


EDIT by @jankeromnes -- steps:

@jankeromnes
Copy link
Contributor

jankeromnes commented Sep 5, 2022

Thanks @svenefftinge for proposing this and #12583! I agree that implementing these two ideas could be a game changer, allowing very large + high-frequency projects to benefit from prebuilds as well. (And I also really like the value / implementation cost ratios of these two issues. 💯)

We should allow starting workspaces in this mode as well, so that if I skip a prebuild I still get an almost initialized state and then see the incremental build happening in my interactive workspace, so I can already start browsing files or do other things (including canceling any builds, because I'm not interested).

On the "Prebuild in progress" UX, I wonder whether it's better to:

  1. Continue offering the "Skip prebuild, start from scratch" option, while also offering a new alternative option "Skip prebuild, use last successful prebuild instead"

  2. Or, completely remove the "from scratch" option and replace it with only the "use last successful prebuild"?

I.e. maybe sometimes, you do actually want to start from scratch? (E.g. if you've recently committed a change to your build system, and you know that any old prebuild will be heavy, slow, and 100% useless?)

@jankeromnes jankeromnes added the team: webapp Issue belongs to the WebApp team label Sep 20, 2022
@svenefftinge svenefftinge changed the title Allow incremental update in interactive workspaces Allow incremental workspaces Oct 7, 2022
@svenefftinge
Copy link
Member Author

On the "Prebuild in progress" UX ...

I think this change together with #12583 would make it so that you don't see that UI anymore. We should still think about improving it maybe, but let's explore that separately and later.

@geropl geropl moved this to Scheduled in 🍎 WebApp Team Oct 7, 2022
@svenefftinge svenefftinge changed the title Allow incremental workspaces Incremental Workspaces Oct 8, 2022
@jankeromnes jankeromnes self-assigned this Oct 12, 2022
@jankeromnes jankeromnes moved this from Scheduled to In Progress in 🍎 WebApp Team Oct 12, 2022
@jankeromnes jankeromnes moved this from In Progress to Scheduled in 🍎 WebApp Team Oct 24, 2022
@jankeromnes jankeromnes moved this from Scheduled to In Progress in 🍎 WebApp Team Oct 24, 2022
@svenefftinge svenefftinge changed the title Incremental Workspaces Incremental Workspaces I Nov 7, 2022
@svenefftinge svenefftinge changed the title Incremental Workspaces I Incremental Workspaces Nov 7, 2022
@svenefftinge svenefftinge moved this from In Progress to Done in 🍎 WebApp Team Nov 8, 2022
Repository owner moved this from Done to In Validation in 🍎 WebApp Team Nov 8, 2022
@svenefftinge svenefftinge moved this from In Validation to Done in 🍎 WebApp Team Nov 21, 2022
@jankeromnes jankeromnes changed the title Incremental Workspaces Epic: Incremental Workspaces Dec 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team: webapp Issue belongs to the WebApp team type: epic
Projects
Status: Done
Development

No branches or pull requests

3 participants