Commit Graph
35333 Commits
Author SHA1 Message Date
Alexander OSTROVSKY db9cd1cd49 add binary datatypes for intermediate output of fastk tools 2024-01-11 09:46:15 +01:00
John Davis 5597d9f718 Merge pull request #16883 from mvdbeek/copy_nonsense_tool_version
[23.1] Add back 1.1.0 version of Filtering1 tool
2024-01-10 14:07:14 -05:00
mvdbeek 20e560c2e2 Start work on 23.1.5.dev0 2024-01-04 16:15:18 +01:00
mvdbeek 5dccc48db7 Create version 23.1.4 2024-01-04 16:15:11 +01:00
Marius van den Beek d0a7562ad7 Merge pull request #17236 from mvdbeek/fix_schema_integrity
[23.1] Separate collection and non-collection data element
2024-01-02 20:41:31 +02:00
mvdbeek b1361c8e79 Separate collection and non-collection data element
in tool schema. New lxml is more strict when validating
the xml schema and fails with

```
lxml.etree.XMLSchemaParseError: complex type 'Output': The content model is not determinist., line 5329
```

this is because `filter` and `discover_datasets` are present in
OutputDataElement and OutputCollectionElement, making

```
     <xs:sequence>
       <xs:group ref="OutputDataElement" minOccurs="0" maxOccurs="unbounded" />
       <xs:group ref="OutputCollectionElement" minOccurs="0" maxOccurs="unbounded" />
     </xs:sequence>
```

not deterministic.

In any case this isn't an accurate model of what is allowed and parsed,
as you can't use collection-specific discover_datasets options outside
of a dataset collection.

I **think** that the reason for adding
OutputCollectionElement to the sequence is that you can have a `data`
element nested in a `collection` element.

To continue allowing this and making it more precise I've added an
additional `OutputCollectionDataElement` type that is allowed within
`collection`. This then should allow us to remove
`OutputCollectionElement` from the `OutputData` type.

A quick test against IUC and devteam revealed no problem with this
approach per se, however it showed that https://github.com/galaxyproject/tools-iuc/blob/aa8360cb3ec9faf1488938a430855977632706ff/tools/krakentools/extract_kraken_reads.xml#L145
uses `change_format` which is not implemented for collections.
2023-12-31 19:59:17 +02:00
Björn Grüning 687bcf9d01 Merge pull request #17231 from mvdbeek/convert_test_backport
[23.1] Backport #17188: Fix for converter tests
2023-12-23 12:43:56 +01:00
mvdbeek 1113f4c744 Fix User.current_galaxy_session 2023-12-23 10:34:11 +01:00
Matthias Bernt 07bf0d6955 Also fix test of the vcf_to_vcf_bgzip_converter 2023-12-23 10:27:01 +01:00
Matthias Bernt dc8275cb86 slighly more intrusive fix 2023-12-23 10:27:01 +01:00
Matthias Bernt e4993e6d88 unintrusive fix for converter tests 2023-12-23 10:27:00 +01:00
davelopez af9ad6037d Remove web dependency from tools/error_reports 2023-12-19 10:59:06 +01:00
davelopez 10e3dcddcb Remove web dependency from tools/errors.py 2023-12-19 10:58:49 +01:00
davelopez fa585e1ac7 Fix workflow index total matches wrong count 2023-12-12 19:08:10 +01:00
davelopez 75c11225c6 Add test to check workflow index total matches 2023-12-12 19:08:02 +01:00
mvdbeek ac8cc32b30 Merge branch 'release_23.0' into release_23.1 2023-12-06 11:29:03 +01:00
mvdbeek 7f30bb9cd4 Assert that tus uploader instance has URL
Newer tusclient package allows passing in client in which case url can
be None.
2023-12-06 10:38:30 +01:00
Dannon 1d32c21fae Merge pull request #17120 from guerler/fix_logout_23.1
[23.1] Properly clear session on OIDC logout
2023-12-01 12:11:33 -05:00
guerler 861a54b002 Apply logout fix to properly clear session from @nuwang 2023-12-01 18:42:25 +03:00
mvdbeek 316f8c1a2c Start work on 23.1.4.dev0 2023-12-01 11:54:46 +01:00
mvdbeek d7cc988979 Create version 23.1.3 2023-12-01 11:54:43 +01:00
mvdbeek e502863657 Add missing optional description field, fixes ephemeris data library example 2023-12-01 11:00:52 +01:00
mvdbeek cb1bb4a6ab Start work on 23.1.3.dev0 2023-11-29 19:20:10 +01:00
mvdbeek 3642185621 Create version 23.1.2 2023-11-29 19:20:07 +01:00
Marius van den Beek cd46ff3261 Merge pull request #17102 from mvdbeek/fix_loading_default_tools_in_packaged_galaxy
[23.1] Set correct tool_path for packaged galaxy
2023-11-29 18:37:32 +01:00
mvdbeek 63c74022a2 Set correct tool_path for packaged galaxy 2023-11-29 15:50:16 +01:00
davelopez 5a883916c6 Implement missing upload for S3 file sources 2023-11-29 13:34:32 +01:00
David LópezandMarius van den Beek 6dbd2333cb Keep AbsoluteOrRelativeUrl as RelativeUrl for now
This will always fall back to a string, but the intention of the code reads better and we may add some custom validation later to really check for the URL correctness.

Co-authored-by: Marius van den Beek <m.vandenbeek@gmail.com>
2023-11-28 19:34:29 +01:00
davelopez 0171551ecd Allow relative action URLs in broadcasts 2023-11-28 19:31:37 +01:00
Marius van den Beek 0487e63192 Merge pull request #17080 from muon-spectroscopy-computational-project/larch_datatypes
[23.1] Add support for larch datatypes
2023-11-28 17:52:39 +01:00
Martin Cech 4a7dbe9e19 Merge pull request #17072 from mvdbeek/add_head_route_to_job_files
[23.1] Add HEAD route to job_files endpoint
2023-11-27 23:07:26 +01:00
davelopez 9b1fb5eb7a Fix notification input timestamps: consider timezone 2023-11-27 18:31:59 +01:00
John Chilton 142ac4b3ee Merge pull request #17071 from mvdbeek/assert_dataset_collection_element_points_at_something
[23.1] Assert that ``DatasetCollectioElement`` has an associated object
2023-11-27 10:49:49 -05:00
Marius van den Beek 5a1f3f9c7a Merge pull request #17085 from mvdbeek/always_commit_no_rollback
[23.1] Remove rollback from ``__check_jobs_at_startup``
2023-11-27 11:46:57 +01:00
mvdbeek da387d490c Remove rollback from `__check_jobs_at_startup`
I think the premise that we want to do a rollback on exceptions in this
method is wrong (it **may** be correct apprach in other places in the
codebase e.g. in
`Tool.handle_single_execution()`). Here it prevents us from comitting
anything inside the with statement (as the job_wrapper.fail method
does).
Here's the simplified issue:

```shell
❯ python -i scripts/db_shell.py -c config/galaxy.yml
>>> with sa_session() as session, session.begin():
...      sa_session.execute(update(Job).where(Job.id == 1).values(state="error"))
...      sa_session.commit()
...      sa_session.execute(update(Job).where(Job.id == 1).values(state="ok"))
...      sa_session.commit()
...
<sqlalchemy.engine.cursor.LegacyCursorResult object at 0x11f1be350>
Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
  File "<string>", line 2, in execute
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1711, in execute
    conn = self._connection_for_bind(bind, close_with_result=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1552, in _connection_for_bind
    TransactionalContext._trans_ctx_check(self)
  File "/Users/mvandenb/src/galaxy/.venv/lib/python3.11/site-packages/sqlalchemy/engine/util.py", line 199, in _trans_ctx_check
    raise exc.InvalidRequestError(
sqlalchemy.exc.InvalidRequestError: Can't operate on closed transaction inside context manager.  Please complete the context manager before emitting further commands.
```

It is probably still worthwhile to have the job recovery be minimal and
do things such as calling the job wrapper fail method that does actual
work to the job handler as in
https://github.com/galaxyproject/galaxy/pull/17083/, but that's
refactoring that can be done on the dev branch and it still seems risky
in the sense that we then need to be very careful in ensuring we don't
commit anywhere else inside the scope of the begin() statement.

Finally I don't think it makes sense that the startup check should
ever cause the boot process to fail. This isn't a misconfiguration
or even anything catastrophic for the remaining jobs and places
unnecessary stress on admins and can basically break at any time
and shouldn't cause a complete service failure.

Fixes https://github.com/galaxyproject/galaxy/issues/17079
2023-11-27 10:36:59 +01:00
Patrick Austin cfab9e8169 DatasetInstance -> DatasetProtocol in larch.py typehints 2023-11-24 13:23:15 +00:00
Patrick Austin 42a22199cf Merge branch 'release_23.1' into larch_datatypes 2023-11-24 12:03:36 +00:00
Patrick Austin 36616a8227 Use List from typing for typehint in larch.py 2023-11-24 12:02:01 +00:00
Patrick Austin d8a80eff49 Fix typo in AthenaProject sniffer 2023-11-24 11:39:23 +00:00
mvdbeek 11f1b4fe90 Add HEAD route to job_files endpoint 2023-11-23 12:29:15 +01:00
mvdbeek 626237d682 Assert that prior to flush DatasetCollectioElement has an associated object 2023-11-23 10:23:16 +01:00
mvdbeek 41b302de53 Merge branch 'release_23.0' into release_23.1 2023-11-22 18:56:20 +01:00
mvdbeek 5cf9f0e4ea Fix extra files collection for outputs in `store_by="id"` object stores 2023-11-22 15:38:27 +01:00
Marius van den Beek 46595468fa Merge pull request #17048 from mvdbeek/prevent_workflow_submission_missing_input_value
[23.1] Prevent workflow submission with missing input values
2023-11-20 14:40:19 +01:00
mvdbeek 35c18ff7b0 Add test case 2023-11-20 13:20:10 +01:00
John Chilton e5d37d48d3 Merge pull request #17036 from jmchilton/tool_panel_fixes
[23.1] Fix duplicated tools in tool panel view section copying
2023-11-17 10:38:02 -05:00
mvdbeek 26573dd7ed Prevent workflow submission with validation errors
And disable submit button when request is being handled.
2023-11-17 15:52:10 +01:00
mvdbeek 3e13db9ee5 Ensure we're not allowing None as non-optional workflow input 2023-11-16 18:38:30 +01:00
mvdbeek ca5fce7566 Test tool shed version as well 2023-11-16 05:52:30 -05:00
John Chilton f36b8474a3 Comment about new bug discovered. Lower priority though right?
Come back and fix it in dev?
2023-11-16 05:51:03 -05:00