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

documenting a optinionated and powerful developer setup - developer UX #17

Open
bgruening opened this issue Jul 25, 2023 · 7 comments
Open

Comments

@bgruening
Copy link
Collaborator

@davelopez has written up his development setup to kickstart new contributors.

@neoformit
Copy link
Contributor

Nice!

@KaiOnGitHub
Copy link

does this setup automatically recompile after code changes or do you have to restart the server?

@davelopez
Copy link

If you are referring to the client UI, you can try these commands https://github.com/galaxyproject/galaxy/blob/1eac67ac669a51d9df2748f72053af5fea10cffb/client/README.md?plain=1#L51

For the server, unfortunately, as far as we know, there is no way to auto-reload the changes reliably.

@KaiOnGitHub
Copy link

@davelopez Thanks for the quick response! That's a pitty, but at least it works for the client. So you make your changes, quit the server and run "sh run.sh" again? This takes quite long for me, is there a better workflow?

@davelopez
Copy link

davelopez commented Oct 11, 2024

Yes, use make skip-client to relaunch the server. Running sh run.sh will also rebuild the client which is the slowest part.

So, what I usually do, is run make client-dev-server in one terminal and make skip-client in another. And when I want to try the changes in the backend I just re-run make skip-client.

@KaiOnGitHub
Copy link

That's great. I just noticed, that it is also rather fast to just use The GalaxyFastAPI uvicorn debug config and this allows me to debug as well then.

Don't remember where I got it from, but this my my config from launch.json for VSC:

{
            "name": "GalaxyFastAPI uvicorn",
            "type": "python",
            "request": "launch",
            "module": "uvicorn",
            "args": ["--app-dir", "lib",  "--factory", "galaxy.webapps.galaxy.fast_factory:factory"],
            "env": {
                "GALAXY_CONFIG_FILE": "${workspaceFolder}/config/galaxy.yml"
            }
        },
       

@davelopez
Copy link

Sure, if you want to debug that is perfectly fine. You can find a similar launch configuration with some more tweaks in the Debug Launch Settings posted by Bjorn #17 (comment) at the top.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants