Commit Graph
30165 Commits
Author SHA1 Message Date
mvdbeek 11af89cd8c Wrap reports and tool_shed app in static
That broke in https://github.com/galaxyproject/galaxy/pull/13103,
but we only noticed it when we started the apps with gunicorn
instead of uwsgi, since uwsgi has its own static mapping.
2022-02-22 17:58:28 +01:00
Nicola Soranzo 9357138c43 Merge branch 'release_21.09' into release_22.01 2022-02-22 14:03:24 +00:00
Marius van den Beek 44633db751 Merge pull request #13425 from mvdbeek/fix_remove_file_in_repo_option
[21.09] Fix repository uploads with remove_repo_files_not_in_tar
2022-02-22 11:31:18 +01:00
mvdbeek 907130d772 Fix repository uploads with remove_repo_files_not_in_tar
This fixes erroneously deleting the just uploaded files, which otherwise
happens in
```
                    if full_name not in filenames_in_archive:
                        files_to_remove.append(full_name)
```
2022-02-21 10:28:41 +01:00
Nicola Soranzo d2981d369c Merge pull request #13403 from blankenberg/22.01-refgenie
[22.01] Always display digest in name for refgenie assets.
2022-02-20 23:56:25 +00:00
John Chilton a0d555a6e6 Merge pull request #13396 from mvdbeek/a2wsgi
[22.01] Use a2wsgi to serve WSGI app
2022-02-18 11:02:56 -05:00
Simon Bray cc79e028ed remove test_run_workflow_with_missing_tool() from API tests 2022-02-18 10:07:39 +01:00
Simon Bray 7f8a198af3 revert change to toolbox's get_tool() 2022-02-18 10:06:39 +01:00
Simon Bray 8078dab412 fix small bug in toolbox's get_tool() so non-shed tool can be used for missing tool workflow invocation test 2022-02-18 10:06:28 +01:00
Simon Bray bbe90dd3f7 block workflow invocation if wrong tool versions installed 2022-02-18 10:06:04 +01:00
Daniel Blankenberg e92410cbcf Always display digest in name for refgenie assets. 2022-02-17 15:40:36 -05:00
mvdbeek 1aaf9c02c1 Fix path lookup for metdata_file
And use trans.url_builder in model serializers if possible.
2022-02-17 16:07:18 +01:00
mvdbeek 2eb56c2bd0 Make history tests rerunnable by generating unique history names 2022-02-17 11:54:11 +01:00
mvdbeek 61dab21990 Use a2wsgi to serve WSGI app
instead of the deprecated starlette WSGIMiddleware that was vendored by
fastAPI. I'm also hoping this fixes the weird exceptions a la:
```
uvicorn.error ERROR 2022-02-14 11:59:42,141 [pN:main,p:4823,tN:Thread-216] Exception in ASGI application
Traceback (most recent call last):
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/uvicorn/protocols/http/h11_impl.py", line 364, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
    return await self.app(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/fastapi/applications.py", line 212, in __call__
    await super().__call__(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/applications.py", line 112, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/routing.py", line 656, in __call__
    await route.handle(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/routing.py", line 408, in handle
    await self.app(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/fastapi/applications.py", line 212, in __call__
    await super().__call__(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/applications.py", line 112, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette_context/middleware/raw_middleware.py", line 96, in __call__
    await self.app(scope, receive, send_wrapper)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/base.py", line 65, in __call__
    task_group.cancel_scope.cancel()
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 574, in __aexit__
    raise exceptions[0]
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 611, in _run_wrapped_task
    await coro
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/base.py", line 34, in coro
    await self.app(scope, request.receive, send_stream.send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/routing.py", line 656, in __call__
    await route.handle(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/routing.py", line 408, in handle
    await self.app(scope, receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 64, in __call__
    await responder(receive, send)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 91, in __call__
    await anyio.to_thread.run_sync(self.wsgi, environ, self.start_response)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 572, in __aexit__
    raise ExceptionGroup(exceptions)
anyio._backends._asyncio.ExceptionGroup: 2 exceptions were raised in the task group:
----------------------------
Traceback (most recent call last):
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 611, in _run_wrapped_task
    await coro
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 98, in sender
    await send(message)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/exceptions.py", line 68, in sender
    await send(message)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/streams/memory.py", line 193, in send
    self.send_nowait(item)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/streams/memory.py", line 177, in send_nowait
    raise BrokenResourceError
anyio.BrokenResourceError
----------------------------
Traceback (most recent call last):
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 91, in __call__
    await anyio.to_thread.run_sync(self.wsgi, environ, self.start_response)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/to_thread.py", line 29, in run_sync
    limiter=limiter)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 818, in run_sync_in_worker_thread
    return await future
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 754, in run
    result = context.run(func, *args)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/starlette/middleware/wsgi.py", line 132, in wsgi
    self.stream_send.send, {"type": "http.response.body", "body": b""}
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/from_thread.py", line 35, in run
    return asynclib.run_async_from_thread(func, *args)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 847, in run_async_from_thread
    return f.result()
  File "/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/concurrent/futures/_base.py", line 435, in result
    return self.__get_result()
  File "/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/streams/memory.py", line 193, in send
    self.send_nowait(item)
  File "/home/runner/work/galaxy/galaxy/galaxy root/.venv/lib/python3.7/site-packages/anyio/streams/memory.py", line 177, in send_nowait
    raise BrokenResourceError
anyio.BrokenResourceError
```
2022-02-17 09:36:26 +01:00
Marius van den Beek c14eca9649 Merge pull request #13373 from bernt-matthias/fix/macro_parsing
[22.01] Fix macro parsing
2022-02-16 20:11:13 +01:00
Dannon Baker 2914a7161a Merge remote-tracking branch 'upstream/release_21.09' into release_22.01 2022-02-16 13:53:03 -05:00
Dannon Baker f40274f6b9 Merge remote-tracking branch 'upstream/release_21.05' into release_21.09 2022-02-16 13:52:36 -05:00
Dannon Baker 5b629534ed Merge remote-tracking branch 'upstream/release_21.01' into release_21.05 2022-02-16 13:51:59 -05:00
Dannon Baker 3f59f5933a Merge remote-tracking branch 'upstream/release_20.09' into release_21.01 2022-02-16 13:51:28 -05:00
Dannon Baker 9e4463e043 Merge remote-tracking branch 'upstream/release_20.05' into release_20.09 2022-02-16 13:50:51 -05:00
Nicola Soranzo 9cc9c62890 Merge branch 'release_21.09' into release_22.01 2022-02-16 17:47:08 +00:00
mvdbeek 71571026f8 Fix up macros type annotation
We only create XmlMacroDef later on.
2022-02-16 12:59:10 +01:00
mvdbeek baed73d311 Fix history_export include_hidden=False handling
Fixes https://github.com/galaxyproject/galaxy/issues/13386
2022-02-16 11:41:47 +01:00
Matthias Bernt 8e80077f31 fix typing 2022-02-16 09:38:15 +01:00
Matthias Bernt c092b2f2dc add import for Dict 2022-02-15 23:18:12 +01:00
M BerntandMarius van den Beek f0100dc9ec Update lib/galaxy/util/xml_macros.py
Co-authored-by: Marius van den Beek <m.vandenbeek@gmail.com>
2022-02-15 22:56:36 +01:00
Marius van den Beek 55f5a36c15 Merge pull request #13343 from bernt-matthias/topic/univa-wo-nativespec
[21.09] Allow UNIVA destinations without runtime and memory max given in the nativespec
2022-02-15 12:33:01 +01:00
Matthias Bernt 012f44a968 directly extract macros to lists
so far imported macro element were inserted into the macros element
of the tool xml .. just to be removed again in the end (except for
template macros)

so it seems cleaner (and maybe a bit faster) to store the macros
in lists (kept in a dict separating xml, token, and template macros)
2022-02-14 20:21:35 +01:00
Matthias Bernt 09f59839b7 speed up xml macro parsing 2022-02-14 19:56:16 +01:00
Matthias Bernt 1204647e82 do not store base at nodes 2022-02-14 19:55:49 +01:00
Alexander OSTROVSKY 972faaaea1 add optional for workflow tag input collections 2022-02-11 15:09:32 -08:00
Dannon 2f1c862a8f Merge pull request #13293 from mvdbeek/fix_text_parameter_connected_to_select
[22.01] Fix construction of SelectToolParameter default value
2022-02-11 13:12:12 -05:00
mvdbeek 973f6679d6 Merge branch 'release_21.09' into release_22.01 2022-02-11 13:29:04 +01:00
Marius van den Beek c1f959d909 Merge pull request #13330 from mvdbeek/exp_imp_anonymous
[22.01] Fix history exports import by url
2022-02-10 12:11:19 +01:00
Marius van den Beek 76a8e12d21 Merge pull request #13325 from mvdbeek/remap_fix_sentry
[21.09] Fix resuming job when job has optional data parameters
2022-02-10 11:19:20 +01:00
Matthias Bernt 87337bad17 allow univa destinations wo nativespec
if no nativespec is given for a univa destination the runner
does not know how much run time / memory was given to a job
which led to a comparison with `None`.

Now we default to infinite runtime and memory.
2022-02-09 19:16:13 +01:00
mvdbeek 96d89a4f5c Drop API key from more places 2022-02-09 17:38:10 +01:00
mvdbeek db6e2db4dc Endpoint needs to be sessionless as well 2022-02-09 17:30:34 +01:00
mvdbeek 925f44a16e Improve (history import) job error reporting 2022-02-09 17:30:12 +01:00
Nicola Soranzo bf3a5420ef Merge pull request #13317 from mvdbeek/fix_command_recording 2022-02-09 10:21:52 +00:00
mvdbeek 991f82b136 Fix history exports import by url 2022-02-08 22:56:57 +01:00
mvdbeek 96e76c62d2 Don't record version command as part of command line
Fixes https://github.com/galaxyproject/galaxy/issues/13306
2022-02-08 15:52:06 +01:00
Marius van den Beek e9270c5299 Merge pull request #13324 from mvdbeek/minor_fixes_sentry
Minor fixes from sentry data
2022-02-08 15:46:02 +01:00
mvdbeek bec9d4b49f Fix resuming job when job has optional data parameters
This fixes
```
ERROR    galaxy.tools.actions:__init__.py:683 Cannot remap rerun dependencies.
Traceback (most recent call last):
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/actions/__init__.py", line 664, in _remap_job_on_rerun
    self.__remap_parameters(job_to_remap, jtid, jtod, out_data)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/actions/__init__.py", line 694, in __remap_parameters
    input_values = {p.name: json.loads(p.value) for p in job_to_remap.parameters}
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/actions/__init__.py", line 694, in <dictcomp>
    input_values = {p.name: json.loads(p.value) for p in job_to_remap.parameters}
  File "/usr/local/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/__init__.py", line 339, in loads
    raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not
NoneType
```

Optional data inputs or optional selects are stored as `None` (super
inconsistent, since most other parameters are stored as JOSN. We should
create "basic_2.py" using pydantic at one point not too far into the
future ...). This means we can't call `json.loads` on these. Fortunately
this is the only place we do it, and we don't need to consider optional
parameters here anyway.
2022-02-08 15:45:01 +01:00
Nicola Soranzo 00b0846e8f Merge branch 'release_21.05' into release_21.09 2022-02-08 13:29:08 +00:00
mvdbeek acd56abee8 Return DatasetChainModel
Fixes failure to serialize the response.
2022-02-08 11:33:05 +01:00
Marius van den Beek f15de14cbd Merge pull request #13313 from mvdbeek/tus_config_dir
[22.01] Add config variable for setting tus upload directory
2022-02-08 11:15:43 +01:00
mvdbeek 25d58f678d Drop unncessary log statement 2022-02-07 22:34:56 +01:00
mvdbeek 83c0683e86 Restore Metadata size limit
Broke in https://github.com/galaxyproject/galaxy/pull/11902
2022-02-07 15:02:02 +01:00
Marius van den Beek 377a608c5c Merge pull request #13267 from bernt-matthias/doc/xsd-collection-types
[22.01] Add missing collection types to xsd doc
2022-02-07 13:34:00 +01:00