Skip to content

Enable GxITs in planemo serve#1568

Merged
mvdbeek merged 10 commits intogalaxyproject:masterfrom
pavanvidem:serve-gxit-option
Mar 5, 2026
Merged

Enable GxITs in planemo serve#1568
mvdbeek merged 10 commits intogalaxyproject:masterfrom
pavanvidem:serve-gxit-option

Conversation

@pavanvidem
Copy link
Member

It is implemented as an option for the serve command. It can also be enabled by default if it is fine.

@pavanvidem
Copy link
Member Author

Here it is. Thanks @bernt-matthias

Copy link
Member

@mvdbeek mvdbeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working this out. I would make this the default with an option to disable interactive tools, planemo is for development, I don't think there's any harm in enabling ITs by default. However I would attempt binding a random gxit port, get_free_port in planemo.network_util can help you there.

@pavanvidem
Copy link
Member Author

@mvdbeek is it ready?

@mvdbeek
Copy link
Member

mvdbeek commented Mar 2, 2026

Doesn't seem to work and it's conflicted. I'll find some time to look at this.

mvdbeek pushed a commit to mvdbeek/planemo that referenced this pull request Mar 2, 2026
Implement the changes from PR galaxyproject#1568: enable GxITs by default when
running `planemo serve`, with a `--disable_gxits` flag to opt out.
The gx_it_proxy port is dynamically allocated via get_free_port().

Add tests verifying:
- GxITs are enabled by default with a valid port in galaxy.yml
- Required Galaxy properties are set when GxITs are enabled
- The --disable_gxits flag properly disables interactive tools
- The galaxy_infrastructure_url respects host/port configuration

https://claude.ai/code/session_011Pc8wpbxtD4A8Xp5E9c6Ld
@mvdbeek mvdbeek force-pushed the serve-gxit-option branch from 11117c9 to 5866c9b Compare March 4, 2026 15:30
mvdbeek added 4 commits March 4, 2026 16:31
The previous GxIT implementation had broken conditional logic:
disable_gxits defaulted to True (always disabling), used string
"true"/"false" instead of booleans, had a conflicting enable_gxits
check with a hardcoded port, and hardcoded "localhost" instead of
using the host kwarg.

Refactor write_galaxy_config to use a single clean if/else branch,
proper boolean values, and the configured host. Move and rename the
disable_interactive_tools option to disable_gxits_option. Add unit
tests for GxIT enable/disable behavior and infrastructure URL
construction.
@mvdbeek mvdbeek force-pushed the serve-gxit-option branch from 5866c9b to 2ba5789 Compare March 4, 2026 15:32
@mvdbeek mvdbeek force-pushed the serve-gxit-option branch from 2ba5789 to 6494041 Compare March 4, 2026 15:37
Copy link
Member

@mvdbeek mvdbeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be working now and includes a test that uses planemo serve to talk to the proxied service. This could also serve as an example for how to do planemo test.

@mvdbeek mvdbeek merged commit d276ebf into galaxyproject:master Mar 5, 2026
22 of 28 checks passed
@mvdbeek mvdbeek changed the title Add option to enable GxITs in planemo serve Enable GxITs in planemo serve Mar 5, 2026
@pavanvidem
Copy link
Member Author

thanks @mvdbeek we already have some users who need this :)

@pavanvidem pavanvidem deleted the serve-gxit-option branch March 5, 2026 10:45
@mvdbeek
Copy link
Member

mvdbeek commented Mar 5, 2026

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

Successfully merging this pull request may close these issues.

2 participants