diff --git a/.github/workflows/mulled.yaml b/.github/workflows/mulled.yaml index 4d654af6ddbb..a5702df1b6a7 100644 --- a/.github/workflows/mulled.yaml +++ b/.github/workflows/mulled.yaml @@ -41,6 +41,8 @@ jobs: key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-mulled - name: Install Apptainer's singularity uses: eWaterCycle/setup-apptainer@v2 + with: + apptainer-version: 1.3.6 # https://github.com/eWaterCycle/setup-apptainer/pull/68 - name: Install tox run: pip install tox - name: Run tests diff --git a/client/src/components/History/CurrentHistory/HistoryOperations/SelectionChangeWarning.vue b/client/src/components/History/CurrentHistory/HistoryOperations/SelectionChangeWarning.vue index cfb3c17149bb..3f1d7c8a468f 100644 --- a/client/src/components/History/CurrentHistory/HistoryOperations/SelectionChangeWarning.vue +++ b/client/src/components/History/CurrentHistory/HistoryOperations/SelectionChangeWarning.vue @@ -31,7 +31,7 @@ function onDoNotShowAgain() { watch( () => props.querySelectionBreak, () => { - dismissCountDown.value = showSelectionQueryBreakWarning ? dismissSecs.value : 0; + dismissCountDown.value = showSelectionQueryBreakWarning.value ? dismissSecs.value : 0; } ); diff --git a/lib/galaxy/model/__init__.py b/lib/galaxy/model/__init__.py index edb721c1d30e..1dbe4723c148 100644 --- a/lib/galaxy/model/__init__.py +++ b/lib/galaxy/model/__init__.py @@ -7736,7 +7736,7 @@ class StoredWorkflow(Base, HasTags, Dictifiable, RepresentById, UsesCreateAndUpd order_by=lambda: -Workflow.id, cascade_backrefs=False, ) - latest_workflow = relationship( + latest_workflow: Mapped["Workflow"] = relationship( "Workflow", post_update=True, primaryjoin=(lambda: StoredWorkflow.latest_workflow_id == Workflow.id), @@ -7854,7 +7854,7 @@ def show_in_tool_panel(self, user_id): ) return bool(sa_session.scalar(stmt)) - def copy_tags_from(self, target_user, source_workflow): + def copy_tags_from(self, target_user, source_workflow: "StoredWorkflow"): # Override to only copy owner tags. for src_swta in source_workflow.owner_tags: new_swta = src_swta.copy() @@ -8027,7 +8027,7 @@ def top_level_stored_workflow(self): """ return self.top_level_workflow.stored_workflow - def copy(self, user=None): + def copy(self, user: User): """Copy a workflow for a new StoredWorkflow object. Pass user if user-specific information needed. @@ -8336,7 +8336,7 @@ def workflow_output_for(self, output_name): break return target_output - def copy_to(self, copied_step, step_mapping, user=None): + def copy_to(self, copied_step: "WorkflowStep", step_mapping: Dict[int, "WorkflowStep"], user: User): copied_step.order_index = self.order_index copied_step.type = self.type copied_step.tool_id = self.tool_id @@ -8368,10 +8368,10 @@ def copy_to(self, copied_step, step_mapping, user=None): copied_step.subworkflow = subworkflow copied_subworkflow = subworkflow else: - # Can this even happen, building a workflow with a subworkflow you don't own ? - copied_subworkflow = subworkflow.copy() + # Importing a shared workflow with a subworkflow step + copied_subworkflow = subworkflow.copy(user=user) stored_workflow = StoredWorkflow( - user, name=copied_subworkflow.name, workflow=copied_subworkflow, hidden=True + user=user, name=copied_subworkflow.name, workflow=copied_subworkflow, hidden=True ) copied_subworkflow.stored_workflow = stored_workflow copied_step.subworkflow = copied_subworkflow diff --git a/lib/galaxy/webapps/base/controller.py b/lib/galaxy/webapps/base/controller.py index 9ee829bfae28..2cf8790a90fb 100644 --- a/lib/galaxy/webapps/base/controller.py +++ b/lib/galaxy/webapps/base/controller.py @@ -973,7 +973,7 @@ def get_stored_workflow_steps(self, trans, stored_workflow: model.StoredWorkflow except exceptions.ToolMissingException: pass - def _import_shared_workflow(self, trans, stored): + def _import_shared_workflow(self, trans, stored: model.StoredWorkflow): """Imports a shared workflow""" # Copy workflow. imported_stored = model.StoredWorkflow() diff --git a/pytest.ini b/pytest.ini index 31665649c393..706dc325bb03 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,5 +1,5 @@ [pytest] -addopts = --doctest-continue-on-failure --verbosity=1 +addopts = --doctest-continue-on-failure --verbosity=1 --showlocals asyncio_mode = auto log_level = DEBUG # Install pytest-memray and set memray to true here to enable memory profiling of tests diff --git a/test/unit/tool_util/mulled/test_mulled_update_singularity_containers.py b/test/unit/tool_util/mulled/test_mulled_update_singularity_containers.py index 728757b52f31..9ec4e47b44f8 100644 --- a/test/unit/tool_util/mulled/test_mulled_update_singularity_containers.py +++ b/test/unit/tool_util/mulled/test_mulled_update_singularity_containers.py @@ -46,6 +46,6 @@ def test_singularity_container_test(tmp_path) -> None: "singularity", tmp_path, ) - assert "samtools:1.0--1" in results["passed"] - assert "pybigwig:0.3.22--py36h54a71a5_0" in results["passed"] - assert "yasm:1.3.0--0" in results["notest"] + assert "samtools:1.0--1" in results["passed"], results + assert "pybigwig:0.3.22--py36h54a71a5_0" in results["passed"], results + assert "yasm:1.3.0--0" in results["notest"], results