gitpod-io / gitpod

The developer platform for on-demand cloud development environments to create software faster and more securely.
https://www.gitpod.io
GNU Affero General Public License v3.0
12.75k stars 1.22k forks source link

Bug Report - Gitpod Not Fetching Variables from User Setting > Variables Menu #17975

Closed brianwerner122 closed 1 year ago

brianwerner122 commented 1 year ago

Bug description

I hope this message finds you well. I am writing to report a bug I encountered while using Gitpod. It appears that the platform is not properly fetching variables from the "User Setting > Variables" menu. Allow me to provide you with more details:

Steps to reproduce

Steps to Reproduce: Open a Gitpod Worspace and try to fetch some Variables.

Workspace affected

It affects all workspaces

Expected behavior

Expected Behavior:

Additional Information:

Example repository

No response

Anything else?

Please let me know if you require any further information or if there are any troubleshooting steps I can attempt. I believe resolving this bug will greatly enhance the user experience on Gitpod.

Thank you for your attention to this matter. I look forward to hearing from you soon and seeing a resolution to this issue.

Best regards,

Brian Werner

iQQBot commented 1 year ago

Hey @brianwerner122, could you check your variables scope? maybe scope doesn't match?

rmcsqrd commented 1 year ago

I am having a similar issue to @brianwerner122 in addition to several members on my team.

All variables have the */* scope. Breakage appears to have started between 6/15/23 and 6/16/23. This occurs when using gitpod on VSCode (timing potentially lines up with this release? https://github.com/gitpod-io/openvscode-server/releases/tag/openvscode-server-v1.79.2)

Happy to provide any useful information. Attaching export of environmental variables within workspace in case that is useful:

GP_PREVIEW_BROWSER=/ide/bin/remote-cli/gitpod-code --preview
PYTHONUNBUFFERED=1
SUPERVISOR_ADDR=localhost:22999
HOSTNAME=<redacted>
GITPOD_REPO_ROOT=/workspace/<redacted>
WORKSPACEKIT_WRAP_NETNS=true
GITPOD_ANALYTICS_WRITER=segment
THEIA_RATELIMIT_LOG=50
EDITOR=/ide/bin/remote-cli/gitpod-code
GITPOD_WORKSPACE_CLASS_INFO={"id":"g1-large","category":"GENERAL PURPOSE","displayName":"Large","description":"Up to 8 cores, 16GB RAM, 50GB storage","powerups":2,"isDefault":false,"deprecated":false,"marker":{"moreResources":true}}
PWD=/workspace/<redacted>
THEIA_WORKSPACE_ROOT=/workspace/<redacted>
GITPOD_PREVENT_METADATA_ACCESS=true
GP_OPEN_EDITOR=/ide/bin/remote-cli/gitpod-code
GP_EXTERNAL_BROWSER=/ide/bin/remote-cli/gitpod-code --openExternal
TZ=America/Denver
GITPOD_OWNER_ID=<redacted>
HOME=/home/gitpod
LANG=en_US.UTF-8
GITPOD_WORKSPACE_ID=<redacted>
GITPOD_INTERVAL=30000
HISTFILE=/workspace/.gitpod/.shell_history
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
GITPOD_WORKSPACE_CONTEXT_URL=<redacted>
THEIA_MINI_BROWSER_HOST_PATTERN=browser-{{hostname}}
PROMPT_COMMAND=history -a
GITPOD_WORKSPACE_CLASS=g1-large
GITPOD_INSTANCE_ID=09a0c964-7c9c-4178-8eac-d5be2b57ea3d
THEIA_WEBVIEW_EXTERNAL_ENDPOINT=webview-{{hostname}}
GITPOD_REPO_ROOTS=/workspace/<redacted>
GITPOD_WORKSPACE_URL=<redacted>
GITPOD_THEIA_PORT=23000
GITPOD_WORKSPACE_CONTEXT={"isFile":false,"path":"","title":"<redacted>","ref":"automations_dev","revision":"2956d672a4d24b5c33864dd4c7f4295a062fef00","refType":"branch","repository":{"host":"[gitlab.com](http://gitlab.com/)","name":"<redacted>","cloneUrl":"<redacted>","defaultBranch":"main","private":true},"normalizedContextURL":"<redacted>","checkoutLocation":"<redacted>"}
TERM=xterm-256color
USER=gitpod
JAVA_TOOL_OPTIONS= -Xmx12884m
GITPOD_WORKSPACE_CLUSTER_HOST=[ws-us100.gitpod.io](http://ws-us100.gitpod.io/)
GITPOD_GIT_USER_NAME=<redacted>
VISUAL=/ide/bin/remote-cli/gitpod-code
SHLVL=1
GIT_EDITOR=/ide/bin/remote-cli/gitpod-code --wait
GITPOD_MEMORY=12884
GITPOD_CONFIGCAT_ENABLED=true
GITPOD_HOST=https://gitpod.io/
GITPOD_IDE_ALIAS=code-desktop
BROWSER=/.supervisor/browser.sh
PATH=/ide/bin/remote-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
GITPOD_ANALYTICS_SEGMENT_ENDPOINT=https://gitpod.io/analytics
GITPOD_GIT_USER_EMAIL=<redacted>
DEBIAN_FRONTEND=noninteractive
VSX_REGISTRY_URL=https://open-vsx.gitpod.io/
GITPOD_TASKS=<redacted>
_=/usr/bin/printenv
jeephacker commented 1 year ago

I am also having this issue. In my testing the issue seems to be with the namespace and only in GitLab. When using Github,*/* seems to work fine with the same variable. I created a project with the same name in both GitLab and Github and set the scope to */project and the variable was only present in GitHub. When using the full name space in GitLab the variable works as expected.

akosyakov commented 1 year ago

In my testing the issue seems to be with the namespace and only in GitLab.

there are some known issue with env vars and GitLab: https://github.com/gitpod-io/gitpod/issues/8618 Maybe you are hitting the same?

jeephacker commented 1 year ago

In my testing the issue seems to be with the namespace and only in GitLab.

there are some known issue with env vars and GitLab: #8618 Maybe you are hitting the same?

8618 looks like a different issue. I've been using */* and everything has been working for months and then stopped working after this was merged last week.

Neither @brianwerner122 nor @rmcsqrd mentioned which git they were using so I thought I would add my experience

rmcsqrd commented 1 year ago

Neither @brianwerner122 nor @rmcsqrd mentioned which git they were using so I thought I would add my experience

Good call-out - these are for gitlab repositories.

akosyakov commented 1 year ago

cc @geropl maybe you have an idea what is going on here

geropl commented 1 year ago

Thx for the reports.

@brianwerner122 @rmcsqrd @jeephacker Could you share your (list of) patterns and fully-qualified names of repositories - possibly redacted - (e.g. owner/group/project) for the env vars you want to match? :pray:

rmcsqrd commented 1 year ago

@geropl this is an example URL of the gitlab repo that is failing: https://gitlab.com/evolvevrn/data-science/data-science-prefect-flows/darwin_experimentation_platform. The branch is automations_dev.

All variables we're trying to match use the */* scope.

geropl commented 1 year ago

evolvevrn/data-science/data-science-prefect-flows/darwin_experimentation_platform [...] use the / scope

@rmcsqrd That */* matched the full hierachy was actually the bug here, and caused problems in other parts of the system (for GitLab). For security reasons we opted to make the "match multiple segments" an explicit operator (** instead of *). So */** should do the same for you.

Also, evolvevrn/*/*/*, or evolvevrn/** or evolvevrn/data-science/data-science-prefect-flows/* or anything in between should match. :+1:

The update to the docs is scheduled, but not done yet. Will definitely include this point. :+1:

rmcsqrd commented 1 year ago

@geropl Just confirmed that evolvevrn/** is able to successfully load in the environmental variables that were missing with the */* scope.

Thanks a ton for the prompt help on this!

jeephacker commented 1 year ago

@geropl Just confirmed that */** fixed the issue . Thanks for the help!

geropl commented 1 year ago

Closing for now, please re-open/ping if still relevant. Link to the updates docs: https://www.gitpod.io/docs/configure/projects/environment-variables#using-the-account-settings