Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
dynamo
Commits
a274ef82
Unverified
Commit
a274ef82
authored
Mar 09, 2026
by
jthomson04
Committed by
GitHub
Mar 09, 2026
Browse files
fix: Fix Intermittent KV router + mocker errors (#7108)
Signed-off-by:
jthomson04
<
jwillthomson19@gmail.com
>
parent
fddbb84d
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
41 deletions
+65
-41
.github/actions/pytest/action.yml
.github/actions/pytest/action.yml
+22
-4
.github/workflows/container-validation-dynamo.yml
.github/workflows/container-validation-dynamo.yml
+2
-0
tests/conftest.py
tests/conftest.py
+41
-36
tests/router/test_router_e2e_with_mockers.py
tests/router/test_router_e2e_with_mockers.py
+0
-1
No files found.
.github/actions/pytest/action.yml
View file @
a274ef82
...
...
@@ -147,10 +147,15 @@ runs:
chmod 777 "${TEST_RESULTS_DIR}"
echo "📁 Test results will be saved to: ${TEST_RESULTS_DIR}"
DOCKER_ENV_FLAGS=()
if [[ -n "${HF_TOKEN:-}" ]]; then
DOCKER_ENV_FLAGS+=(--env "HF_TOKEN=${HF_TOKEN}")
fi
docker run ${GPU_FLAGS} --rm -w /workspace \
--cpus=${NUM_CPUS} \
--network host \
--env HF_TOKEN="${HF_TOKEN
}" \
"${DOCKER_ENV_FLAGS[@]
}" \
--name ${{ env.CONTAINER_ID }}_pytest \
-v "${TEST_RESULTS_DIR}:/workspace/test-results" \
${{ inputs.image_tag }} \
...
...
@@ -238,9 +243,14 @@ runs:
echo "📁 Test results will be saved to: ${TEST_RESULTS_DIR}"
echo "▶️ Executing: $PYTEST_CMD"
DOCKER_ENV_FLAGS=()
if [[ -n "${HF_TOKEN:-}" ]]; then
DOCKER_ENV_FLAGS+=(--env "HF_TOKEN=${HF_TOKEN}")
fi
docker run ${GPU_FLAGS} ${DOCKER_OPTS} --rm -w /workspace \
--network host \
--env HF_TOKEN="${HF_TOKEN
}" \
"${DOCKER_ENV_FLAGS[@]
}" \
--name ${{ env.CONTAINER_ID }}_pytest \
-v "${TEST_RESULTS_DIR}:/workspace/test-results" \
${{ inputs.image_tag }} \
...
...
@@ -286,6 +296,10 @@ runs:
JUNIT_NAME="pytest_test_report_${{ inputs.framework }}_${STR_TEST_TYPE}_${{ inputs.platform_arch }}_${{ github.run_id }}_${{ job.check_run_id }}.xml"
mv "$JUNIT_FILE" "test-results/$JUNIT_NAME"
echo "📝 Renamed XML file to: $JUNIT_NAME"
if [[ "${TEST_EXIT_CODE}" != "0" ]]; then
echo "⚠️ Ignoring non-zero test container exit code ${TEST_EXIT_CODE} because JUnit XML was generated"
fi
else
echo "⚠️ JUnit XML file not found - test results may not be available for upload"
TOTAL_TESTS=0
...
...
@@ -293,7 +307,11 @@ runs:
ERROR_TESTS=0
fi
# Exit with original test result to maintain workflow behavior
# Treat the run as successful if pytest produced a JUnit XML file.
if [[ -n "${JUNIT_NAME:-}" ]]; then
exit 0
fi
exit ${TEST_EXIT_CODE}
-
name
:
Cleanup MinIO Service
...
...
.github/workflows/container-validation-dynamo.yml
View file @
a274ef82
...
...
@@ -189,6 +189,7 @@ jobs:
test_type
:
"
pre_merge_parallel"
platform_arch
:
amd64
enable_mypy
:
'
true'
hf_token
:
${{ secrets.HF_TOKEN }}
parallel_mode
:
'
4'
dind_as_sidecar
:
'
false'
...
...
@@ -221,5 +222,6 @@ jobs:
test_type
:
"
pre_merge_sequential"
platform_arch
:
amd64
enable_mypy
:
'
false'
hf_token
:
${{ secrets.HF_TOKEN }}
parallel_mode
:
'
none'
dind_as_sidecar
:
'
false'
tests/conftest.py
View file @
a274ef82
...
...
@@ -142,7 +142,7 @@ def download_models(model_list=None, ignore_weights=False):
model_list
=
TEST_MODELS
# Check for HF_TOKEN in environment
hf_token
=
os
.
environ
.
get
(
"HF_TOKEN"
)
hf_token
=
os
.
environ
.
get
(
"HF_TOKEN"
,
""
).
strip
()
or
None
if
hf_token
:
logging
.
info
(
"HF_TOKEN found in environment"
)
else
:
...
...
@@ -154,7 +154,12 @@ def download_models(model_list=None, ignore_weights=False):
try
:
from
huggingface_hub
import
snapshot_download
except
ImportError
as
exc
:
raise
RuntimeError
(
"huggingface_hub is required to pre-download models for tests"
)
from
exc
failures
=
[]
for
model_id
in
model_list
:
logging
.
info
(
f
"Pre-downloading
{
'model (no weights)'
if
ignore_weights
else
'model'
}
:
{
model_id
}
"
...
...
@@ -185,14 +190,14 @@ def download_models(model_list=None, ignore_weights=False):
)
logging
.
info
(
f
"Successfully pre-downloaded:
{
model_id
}
"
)
except
Exception
as
e
:
logging
.
error
(
f
"Failed to pre-download
{
model_id
}
:
{
e
}
"
)
# Don't fail the fixture - let individual tests handle missing models
except
Exception
as
e
xc
:
logging
.
error
(
f
"Failed to pre-download
{
model_id
}
:
{
e
xc
}
"
)
failures
.
append
(
f
"
{
model_id
}
:
{
exc
}
"
)
except
ImportError
:
logging
.
warning
(
"
h
ugging
f
ace
_hub not installed.
"
"Models will be downloaded during test execution."
if
failures
:
raise
RuntimeError
(
"
Failed to pre-download required H
ugging
F
ace
models:
\n
"
+
"
\n
"
.
join
(
failures
)
)
...
...
tests/router/test_router_e2e_with_mockers.py
View file @
a274ef82
...
...
@@ -46,7 +46,6 @@ pytestmark = [
pytest
.
mark
.
gpu_0
,
pytest
.
mark
.
integration
,
pytest
.
mark
.
model
(
MODEL_NAME
),
pytest
.
mark
.
skip
(
reason
=
"DYN-2365 - Flaky, temporarily disabled"
),
]
NUM_MOCKERS
=
2
SPEEDUP_RATIO
=
10.0
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment