Description
Improve the speed that users can iterate on their configuration, particularly their .gitpod.yml
in a way that doesn't require them to leave gitpod and/or start other workspaces. Doc or research progress.
There are some main configuration areas to improve on:
gitpod.yml
- inclusive of the task commands- Image: Dockerfile updates / prebuilds
- IDE integrations
- Dotfiles iterations
- Logs for feedback
Also useful to think on different dimensions:
- Does it lint?
- Does it build?
- Does it run? (integrate)
In scope
- Support altering project-level environment variables with
gp env
#12208 - https://github.com/gitpod-io/website/issues/3417
- Prompt user to use
gp rebuild
after updating their.gitpod.yml
or Docker configuration. #16299 - The
workspace-full
takes a long time todocker pull
in a first run ofgp rebuild
#16298 - Review perf impact of
gp rebuild
on workspace caching, backup performance, etc. #16480 - [inner-loop] run Isolated docker in debug workspace #16363
- Implement analytics on changes to the
.gitpod.yml
#6894 - Implement analytics on Dockerfiles #6898
-
gp init -i
is returning{}
#16335
Nice to have
- Stream log output of terminals to
gp rebuild
#16180 - Faster way to run CMD+C and
gp rebuild
again. #16178
Out of scope - Improve outer loop
- Stuck in a loop with incorrect workspace image #16264
- Improve error message for invalid
.gitpod.yml
configurations ("continue with default" options) #16236 - Create new workspace from stopped workspace page + show if configuration has changed. #16232
Closes
- Gitpod to support rebuild current workspace #1305
- Add "checkup" or "doctor" option to
gp
command line #12893 - [gp-cli] Validate .gitpod.yml #9025
- gp-cli: add gp prebuilt && gp prebuild-logs #4860
- Gitpod Pallete Command to Terminate and Launch a New Workspace for faster .gitpod.yml interation #6818
- proposal:
gp prebuild-logs
Gitpod cli command #13505 - [gp cli] restart tasks support #8691
- Improve user experience by overcoming the common issues/questions/struggles #10701 (partially)
- Menu item in VSCode to stop workspace and start a new one aka rebuild workspace #9956
Related issues:
- Gitpod Image Build Logs #16485
- https://github.com/gitpod-io/website/issues/2188
- [java] improve inner loop around configuration of SDKs #11149
- Improve user experience by overcoming the common issues/questions/struggles #10701
- [java] improve inner loop around configuration of SDKs #11149
- Why didn't dotfiles initiatize? Where can I find these logs. #11063
- https://github.com/gitpod-io/website/issues/2368
- Show error logs on the loading screen if dotfiles installation script exits with a non-zero code #13004
- presist signals fired via gp sync{await, done} so they survive workspace restarts #2186
- gp-cli: gp rebuild #4861
Original issue description
Context
When I'm building a workspace, I oftentimes want to iterate on the .gitpod.yml file and test its behavior. My workflow is:
- make a change to .gitpod.yml
- commit and push change
- open gitpod through the commit's/branch's GitHub url
- now I have a workspace created from my edited .gitpod.yml file
Problem with this approach
Two things that are inconvenient about my current workflow:
- I'm going to github as part of the workflow. I'd rather stay in gitpod while I'm iterating
- I end up with an extra workspace that I need to delete
Possible Solution
Add a command to the gp CLI, which takes the current .gitpod.yml (and dockerfile) and starts a fresh workspace with an explicit prebuild stage (so it runs through the automation). The CLI would output the build logs (docker build, prebuild, tasks) to standard out and at the end (ready state) print a link so one can optionally go and open the IDE.
The workspace stops when I terminate the process.
We can then have IDE commands to run this. I think a code lens in the .gitpod.yml would be even better. Also, a notification when the config has changed could be useful for users to discover this.
Metadata
Metadata
Type
Projects
Status