From 8ef17e40972b0f22ffc3f4e965dcfbad56b0fb78 Mon Sep 17 00:00:00 2001 From: Nuwan Goonasekera <2070605+nuwang@users.noreply.github.com> Date: Tue, 19 May 2026 16:09:11 +0530 Subject: [PATCH] Convert chained-resubmission job conf fixture to YAML Address PR review feedback (galaxyproject/galaxy#22670): integration test job configs are sometimes lifted into real server configs, so YAML is preferred over XML for readability. Replaces resubmission_dynamic_multiple_job_conf.xml with an equivalent .yml fixture and updates the test reference. No behavioural change; the TestJobResubmissionDynamicMultipleIntegration test still passes (verified locally, 22.7s). --- ...resubmission_dynamic_multiple_job_conf.xml | 41 ------------------- ...resubmission_dynamic_multiple_job_conf.yml | 38 +++++++++++++++++ test/integration/test_job_resubmission.py | 2 +- 3 files changed, 39 insertions(+), 42 deletions(-) delete mode 100644 test/integration/resubmission_dynamic_multiple_job_conf.xml create mode 100644 test/integration/resubmission_dynamic_multiple_job_conf.yml diff --git a/test/integration/resubmission_dynamic_multiple_job_conf.xml b/test/integration/resubmission_dynamic_multiple_job_conf.xml deleted file mode 100644 index de6dd84dcc9..00000000000 --- a/test/integration/resubmission_dynamic_multiple_job_conf.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - integration.resubmission_rules - - - - - - python - dynamic_resubmit_initial - - - python - dynamic_resubmit_secondary - - - python - dynamic_resubmit_tertiary - - - - - - - - - - - - diff --git a/test/integration/resubmission_dynamic_multiple_job_conf.yml b/test/integration/resubmission_dynamic_multiple_job_conf.yml new file mode 100644 index 00000000000..04ce723d7ca --- /dev/null +++ b/test/integration/resubmission_dynamic_multiple_job_conf.yml @@ -0,0 +1,38 @@ +# Resubmission through chained dynamic destinations more than once. +# Verifies that each resubmit re-walks the dynamic chain so the second +# (and subsequent) resubmits land on a fresh destination rather than the +# cached bottom of the previous walk. +runners: + local: + load: galaxy.jobs.runners.local:LocalJobRunner + workers: 1 + failure_runner: + load: integration.resubmission_runners:FailsJobRunner + workers: 1 + dynamic: + rules_module: integration.resubmission_rules + +execution: + default: initial_destination + environments: + initial_destination: + runner: dynamic + type: python + function: dynamic_resubmit_initial + + secondary_destination: + runner: dynamic + type: python + function: dynamic_resubmit_secondary + + tertiary_destination: + runner: dynamic + type: python + function: dynamic_resubmit_tertiary + + local: + runner: local + +tools: + - class: local + environment: local diff --git a/test/integration/test_job_resubmission.py b/test/integration/test_job_resubmission.py index b308c017073..1813de6e7fe 100644 --- a/test/integration/test_job_resubmission.py +++ b/test/integration/test_job_resubmission.py @@ -10,7 +10,7 @@ JOB_RESUBMISSION_JOB_CONFIG_FILE = os.path.join(SCRIPT_DIRECTORY, "resubmission_ JOB_RESUBMISSION_DEFAULT_JOB_CONFIG_FILE = os.path.join(SCRIPT_DIRECTORY, "resubmission_default_job_conf.xml") JOB_RESUBMISSION_DYNAMIC_JOB_CONFIG_FILE = os.path.join(SCRIPT_DIRECTORY, "resubmission_dynamic_job_conf.xml") JOB_RESUBMISSION_DYNAMIC_MULTIPLE_JOB_CONFIG_FILE = os.path.join( - SCRIPT_DIRECTORY, "resubmission_dynamic_multiple_job_conf.xml" + SCRIPT_DIRECTORY, "resubmission_dynamic_multiple_job_conf.yml" ) JOB_RESUBMISSION_SMALL_MEMORY_JOB_CONFIG_FILE = os.path.join(SCRIPT_DIRECTORY, "resubmission_small_memory_job_conf.xml") JOB_RESUBMISSION_SMALL_MEMORY_RESUBMISSION_TO_LARGE_JOB_CONFIG_FILE = os.path.join(