Skip to content

Fix tests#139

Merged
mvdbeek merged 2 commits intogalaxyproject:mainfrom
nsoranzo:test_on_24.0
Jan 16, 2026
Merged

Fix tests#139
mvdbeek merged 2 commits intogalaxyproject:mainfrom
nsoranzo:test_on_24.0

Conversation

@nsoranzo
Copy link
Copy Markdown
Member

@nsoranzo nsoranzo commented Jan 15, 2026

  • Skip test_cmd_start_reports test on Galaxy release_26.0 or later
  • Test on release_24.0 instead of 23.0. Galaxy <24.0 fails to start with:
2026-01-15T16:18:23.7549988Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]: Traceback (most recent call last):
2026-01-15T16:18:23.7551194Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/bin/gunicorn", line 8, in <module>
2026-01-15T16:18:23.7552325Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     sys.exit(run())
2026-01-15T16:18:23.7553720Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 67, in run
2026-01-15T16:18:23.7555391Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
2026-01-15T16:18:23.7557026Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 231, in run
2026-01-15T16:18:23.7558105Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     super().run()
2026-01-15T16:18:23.7559082Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 72, in run
2026-01-15T16:18:23.7560607Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     Arbiter(self).run()
2026-01-15T16:18:23.7561600Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/arbiter.py", line 58, in __init__
2026-01-15T16:18:23.7562782Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     self.setup(app)
2026-01-15T16:18:23.7563876Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/arbiter.py", line 118, in setup
2026-01-15T16:18:23.7564908Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     self.app.wsgi()
2026-01-15T16:18:23.7566263Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
2026-01-15T16:18:23.7567727Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     self.callable = self.load()
2026-01-15T16:18:23.7569197Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
2026-01-15T16:18:23.7570903Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     return self.load_wsgiapp()
2026-01-15T16:18:23.7572472Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
2026-01-15T16:18:23.7574093Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     return util.import_app(self.app_uri)
2026-01-15T16:18:23.7575913Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
2026-01-15T16:18:23.7577339Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     mod = importlib.import_module(module)
2026-01-15T16:18:23.7578471Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/opt/hostedtoolcache/Python/3.9.25/x64/lib/python3.9/importlib/__init__.py", line 127, in import_module
2026-01-15T16:18:23.7579982Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     return _bootstrap._gcd_import(name[level:], package, level)
2026-01-15T16:18:23.7581087Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2026-01-15T16:18:23.7582356Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2026-01-15T16:18:23.7583686Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
2026-01-15T16:18:23.7585011Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
2026-01-15T16:18:23.7586326Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap_external>", line 850, in exec_module
2026-01-15T16:18:23.7587854Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
2026-01-15T16:18:23.7589292Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/tmp/pytest-of-runner/pytest-0/galaxy-worktree0/lib/galaxy/webapps/galaxy/fast_factory.py", line 49, in <module>
2026-01-15T16:18:23.7590847Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from galaxy.webapps.galaxy.buildapp import app_pair
2026-01-15T16:18:23.7592382Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/tmp/pytest-of-runner/pytest-0/galaxy-worktree0/lib/galaxy/webapps/galaxy/buildapp.py", line 14, in <module>
2026-01-15T16:18:23.7593498Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     import galaxy.app
2026-01-15T16:18:23.7594566Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/tmp/pytest-of-runner/pytest-0/galaxy-worktree0/lib/galaxy/app.py", line 25, in <module>
2026-01-15T16:18:23.7595632Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from galaxy import (
2026-01-15T16:18:23.7596839Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/tmp/pytest-of-runner/pytest-0/galaxy-worktree0/lib/galaxy/jobs/__init__.py", line 27, in <module>
2026-01-15T16:18:23.7598348Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from pulsar.client.staging import COMMAND_VERSION_FILENAME
2026-01-15T16:18:23.7600138Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pulsar/client/__init__.py", line 42, in <module>
2026-01-15T16:18:23.7601887Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from .client import OutputNotFoundException
2026-01-15T16:18:23.7603458Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pulsar/client/client.py", line 24, in <module>
2026-01-15T16:18:23.7604652Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from pulsar.managers.util.pykube_util import (
2026-01-15T16:18:23.7606182Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pulsar/managers/util/pykube_util.py", line 8, in <module>
2026-01-15T16:18:23.7607463Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from pykube.config import KubeConfig
2026-01-15T16:18:23.7608906Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pykube/__init__.py", line 7, in <module>
2026-01-15T16:18:23.7610610Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from .http import HTTPClient  # noqa
2026-01-15T16:18:23.7611695Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pykube/http.py", line 10, in <module>
2026-01-15T16:18:23.7612757Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from .session import build_session
2026-01-15T16:18:23.7614121Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pykube/session.py", line 10, in <module>
2026-01-15T16:18:23.7615235Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from oauth2client.service_account import ServiceAccountCredentials
2026-01-15T16:18:23.7616844Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/oauth2client/service_account.py", line 25, in <module>
2026-01-15T16:18:23.7618050Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from oauth2client import client
2026-01-15T16:18:23.7619386Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/oauth2client/client.py", line 39, in <module>
2026-01-15T16:18:23.7620807Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from oauth2client import transport
2026-01-15T16:18:23.7621923Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/oauth2client/transport.py", line 17, in <module>
2026-01-15T16:18:23.7623377Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     import httplib2
2026-01-15T16:18:23.7624785Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/httplib2/__init__.py", line 51, in <module>
2026-01-15T16:18:23.7626200Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from . import auth
2026-01-15T16:18:23.7627602Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/httplib2/auth.py", line 22, in <module>
2026-01-15T16:18:23.7628996Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     params = pp.Dict(pp.DelimitedList(pp.Group(auth_param)))
2026-01-15T16:18:23.7630370Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]: AttributeError: module 'pyparsing' has no attribute 'DelimitedList'

This is because pykube and its dependency httplib2 are installed (unpinned) as conditional dependency, given that kubectl is installed in the GitHub runners, and so we hit httplib2/httplib2#255 .

Galaxy 24.0 is the first release to depend on pyparsing >=3.1.0 .

Galaxy <24.0 fails to start with:

```
2026-01-15T16:18:23.7549988Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]: Traceback (most recent call last):
2026-01-15T16:18:23.7551194Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/bin/gunicorn", line 8, in <module>
2026-01-15T16:18:23.7552325Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     sys.exit(run())
2026-01-15T16:18:23.7553720Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 67, in run
2026-01-15T16:18:23.7555391Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
2026-01-15T16:18:23.7557026Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 231, in run
2026-01-15T16:18:23.7558105Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     super().run()
2026-01-15T16:18:23.7559082Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 72, in run
2026-01-15T16:18:23.7560607Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     Arbiter(self).run()
2026-01-15T16:18:23.7561600Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/arbiter.py", line 58, in __init__
2026-01-15T16:18:23.7562782Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     self.setup(app)
2026-01-15T16:18:23.7563876Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/arbiter.py", line 118, in setup
2026-01-15T16:18:23.7564908Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     self.app.wsgi()
2026-01-15T16:18:23.7566263Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
2026-01-15T16:18:23.7567727Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     self.callable = self.load()
2026-01-15T16:18:23.7569197Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
2026-01-15T16:18:23.7570903Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     return self.load_wsgiapp()
2026-01-15T16:18:23.7572472Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
2026-01-15T16:18:23.7574093Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     return util.import_app(self.app_uri)
2026-01-15T16:18:23.7575913Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
2026-01-15T16:18:23.7577339Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     mod = importlib.import_module(module)
2026-01-15T16:18:23.7578471Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/opt/hostedtoolcache/Python/3.9.25/x64/lib/python3.9/importlib/__init__.py", line 127, in import_module
2026-01-15T16:18:23.7579982Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     return _bootstrap._gcd_import(name[level:], package, level)
2026-01-15T16:18:23.7581087Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2026-01-15T16:18:23.7582356Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2026-01-15T16:18:23.7583686Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
2026-01-15T16:18:23.7585011Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
2026-01-15T16:18:23.7586326Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap_external>", line 850, in exec_module
2026-01-15T16:18:23.7587854Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
2026-01-15T16:18:23.7589292Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/tmp/pytest-of-runner/pytest-0/galaxy-worktree0/lib/galaxy/webapps/galaxy/fast_factory.py", line 49, in <module>
2026-01-15T16:18:23.7590847Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from galaxy.webapps.galaxy.buildapp import app_pair
2026-01-15T16:18:23.7592382Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/tmp/pytest-of-runner/pytest-0/galaxy-worktree0/lib/galaxy/webapps/galaxy/buildapp.py", line 14, in <module>
2026-01-15T16:18:23.7593498Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     import galaxy.app
2026-01-15T16:18:23.7594566Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/tmp/pytest-of-runner/pytest-0/galaxy-worktree0/lib/galaxy/app.py", line 25, in <module>
2026-01-15T16:18:23.7595632Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from galaxy import (
2026-01-15T16:18:23.7596839Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/tmp/pytest-of-runner/pytest-0/galaxy-worktree0/lib/galaxy/jobs/__init__.py", line 27, in <module>
2026-01-15T16:18:23.7598348Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from pulsar.client.staging import COMMAND_VERSION_FILENAME
2026-01-15T16:18:23.7600138Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pulsar/client/__init__.py", line 42, in <module>
2026-01-15T16:18:23.7601887Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from .client import OutputNotFoundException
2026-01-15T16:18:23.7603458Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pulsar/client/client.py", line 24, in <module>
2026-01-15T16:18:23.7604652Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from pulsar.managers.util.pykube_util import (
2026-01-15T16:18:23.7606182Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pulsar/managers/util/pykube_util.py", line 8, in <module>
2026-01-15T16:18:23.7607463Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from pykube.config import KubeConfig
2026-01-15T16:18:23.7608906Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pykube/__init__.py", line 7, in <module>
2026-01-15T16:18:23.7610610Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from .http import HTTPClient  # noqa
2026-01-15T16:18:23.7611695Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pykube/http.py", line 10, in <module>
2026-01-15T16:18:23.7612757Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from .session import build_session
2026-01-15T16:18:23.7614121Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/pykube/session.py", line 10, in <module>
2026-01-15T16:18:23.7615235Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from oauth2client.service_account import ServiceAccountCredentials
2026-01-15T16:18:23.7616844Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/oauth2client/service_account.py", line 25, in <module>
2026-01-15T16:18:23.7618050Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from oauth2client import client
2026-01-15T16:18:23.7619386Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/oauth2client/client.py", line 39, in <module>
2026-01-15T16:18:23.7620807Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from oauth2client import transport
2026-01-15T16:18:23.7621923Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/oauth2client/transport.py", line 17, in <module>
2026-01-15T16:18:23.7623377Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     import httplib2
2026-01-15T16:18:23.7624785Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/httplib2/__init__.py", line 51, in <module>
2026-01-15T16:18:23.7626200Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     from . import auth
2026-01-15T16:18:23.7627602Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:   File "/home/runner/work/gravity/gravity/tests/galaxy_venv/lib/python3.9/site-packages/httplib2/auth.py", line 22, in <module>
2026-01-15T16:18:23.7628996Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]:     params = pp.Dict(pp.DelimitedList(pp.Group(auth_param)))
2026-01-15T16:18:23.7630370Z E         Jan 15 16:13:36 runnervmvatxw gunicorn[2659]: AttributeError: module 'pyparsing' has no attribute 'DelimitedList'
```

This is because pykube and its dependency httplib2 are installed (unpinned)
as conditional dependency, given that kubectl is installed in the GitHub
runners, and so we hit:

httplib2/httplib2#255

Galaxy 24.0 is the first release to depend on pyparsing >=3.1.0 .
@nsoranzo nsoranzo changed the title Test on release_24.0 instead of 23.0 Fix tests Jan 16, 2026
@nsoranzo
Copy link
Copy Markdown
Member Author

Back to green!!

@mvdbeek mvdbeek merged commit e31a1cd into galaxyproject:main Jan 16, 2026
9 of 10 checks passed
@nsoranzo nsoranzo deleted the test_on_24.0 branch January 16, 2026 14:29
@natefoo
Copy link
Copy Markdown
Member

natefoo commented Jan 20, 2026

Thank you!

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.

3 participants