gitpod-io / gitpod-io/gitpod

Add "checkup" or "doctor" option to `gp` command line

Open
#12,893 3 comments 2 reactions 0 assignees View on GitHub

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.yml or .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/gitpod in an init: start task section (!! extra credit !!)
      • Are duplicate ports specified?
      • If there's an additionalRepositories key do the named repos exist?
      • If there's a mainConfiguration key does the named repo exist and have a .gitpod.yml pointing back to this repo?
  • 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.Dockerfile per 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.


  • (checkup is what it is called in the scoop command line tool, for example - probably others too.)
  • (doctor is what it is called in the brew command line tool, for example.)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.