Add "checkup" or "doctor" option to `gp` command line
Open
Nobody has claimed this yet.
feature: gp validate
meta: never-stale
team: IDE
- Dominant language
- TypeScript
- Stars
- 13.8k
- Forks
- 1.4k
- Avg merge
- 17h 58m
- Merged PRs (30d)
- 5
Description
Add a command checkup to the gp tool that does some basic "diagnostics"/"troubleshooting"/"sanity checks" on the workspace/repo.
For example:
- Does it have a
.gitpod.yml?- If not, does it have something else that might be a
.gitpod.yml, e.g.,gitpod.ymlor.gitpod.yaml? - If so, does it syntax check? Any unknown attributes? Anything else that can be detected that is wrong about it?
- E.g., it references an image: image doesn't exist. It references a custom dockerfile: that doesn't exist. It references a vscode extension: that extension doesn't exist at
open-vsx. - E.g., it looks like it is trying to put something under
/home/gitpodin aninit:start task section (!! extra credit !!) - Are duplicate ports specified?
- If there's an
additionalRepositorieskey do the named repos exist? - If there's a
mainConfigurationkey does the named repo exist and have a.gitpod.ymlpointing back to this repo?
- E.g., it references an image: image doesn't exist. It references a custom dockerfile: that doesn't exist. It references a vscode extension: that extension doesn't exist at
- If not, does it have something else that might be a
- Does it have a custom dockerfile?
- Does it syntax check?
- Is there something that looks like it could be a custom dockerfile (.e.g, a file named
.gitpod.Dockerfileper the documentation examples) but it isn't mentioned in the.gitpod.yml? (Or there isn't a.gitpod.yml?) - Does it look like the custom dockerfile is trying to put stuff under
/workspace?
- Look in start task logs, the dotfile repo log, to find problems
- task errored out on last run
- task timed out on last run
- How big is the workspace relative to the resource limits (mainly, but probably not exclusively, max size of the backup archive)
Etc. etc. Goal is to help a gitpod user (especially, but not only, new users) quickly get on board and/or fix problems that are impacting them.
- (
checkupis what it is called in thescoopcommand line tool, for example - probably others too.) - (
doctoris what it is called in thebrewcommand line tool, for example.)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the gp command-line entry point and map the proposed diagnostic areas before choosing a focused scope. Define which checks are included, then verify that the command reports actionable configuration, task-log, and workspace-size problems as described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100