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

Add ready-to-go gitpod config #11509

Merged
merged 2 commits into from
Mar 2, 2021
Merged

Conversation

mvdbeek
Copy link
Member

@mvdbeek mvdbeek commented Feb 28, 2021

Once the workspace is pre-built it takes about 30-60 seconds to start the Gitpod environment, which gives you the option to start Galaxy within vscode in the browser, or run the tests, or do whatever you want in the terminal. We're also automatically starting make client-watch, so you can start changing the client and see the results in the browser.

If you start Galaxy in the debug configuration you'll be asked if you want to open the port, and then you can interact with a live Galaxy instance.

This is great for working on multiple branches, you don't need to switch branches, install dependencies and build the client ... just switch to a new tab in your browser.

Here's the Galaxy interface served in gitpod
Screenshot 2021-02-28 at 21 43 18
And here are the tests:
Screenshot 2021-02-28 at 21 45 39

To get this to work I had to fix the cookie parsing in 61cefb3

We could also setup cvmfs, and this might also be really cool for IUC and IWC.

@github-actions github-actions bot added this to the 21.05 milestone Feb 28, 2021
@dannon
Copy link
Member

dannon commented Feb 28, 2021

I can take a more in-depth look later, but I have to remind myself why we swapped to the more strict (but have to hope correct) standard lib cookie handling -- this has come up before. Pretty cool though!

@mvdbeek
Copy link
Member Author

mvdbeek commented Feb 28, 2021

Thanks @dannon!

We could also setup cvmfs, and this might also be really cool for IUC and IWC.

While that would be super cool the fuse module is not available (even of you opt in to the beta, which gives you access to docker and superuser). Something to check with their support, maybe this could be enabled.

This commit implements a fully-automated development setup using Gitpod.io, an
online IDE for GitLab, GitHub, and Bitbucket that enables Dev-Environments-As-Code.
This makes it easy for anyone to get a ready-to-code workspace for any branch,
issue or pull request almost instantly with a single click.

Includes vscode gitpod config for debugging and testing.
Noticed this attempting to run Galaxy in gitpod. The cookies coming in on gitpod look like this
```
'_ga=xyz;_gid=abcdef;gitpod-user=loggedIn;theme={%22id%22:%22dark%22%2C%22mode%22:%22dark%22%2C%22colors%22:{%22brand%22:%22#0e639c%22%2C%22brand2%22:%22#1177bb%22%2C%22background1%22:%22#1e1e1e%22%2C%22background2%22:%22#252526%22%2C%22background3%22:%22#1e1e1e%22%2C%22paperShadow%22:%22#000000%22%2C%22fontColor1%22:%22#d4d4d4%22%2C%22fontColor2%22:%22#cccccc%22%2C%22fontColor3%22:%22rgba(255%2C%20255%2C%20255%2C%200.25)%22%2C%22disabled%22:%22rgba(14%2C%2099%2C%20156%2C%200.5)%22}};galaxysession=c6ca0ddb55be603abffc374394700ced40665f459edc4056f96aa8b94aeae1550e17382a9bb2794f'
```
which doesn't fit the parsing we do. The standard webob.cookies parser has no problem with such a cookie.
@mvdbeek
Copy link
Member Author

mvdbeek commented Mar 2, 2021

fwiw the parse_cookies function is here: https://github.com/Pylons/webob/blob/master/src/webob/cookies.py#L201 and it does some validation using the regexes here: https://github.com/Pylons/webob/blob/master/src/webob/cookies.py#L336-L344

@dannon
Copy link
Member

dannon commented Mar 2, 2021

@mvdbeek Yeah, the cookie handling looks good there. Test failure is unrelated.

@dannon dannon merged commit 4f1a593 into galaxyproject:dev Mar 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants