Switch UD reporting to 5-group test matrix, fix concurrency + verification - #4329
Draft
sfc-gh-fpawlowski wants to merge 1 commit into
Draft
Switch UD reporting to 5-group test matrix, fix concurrency + verification#4329sfc-gh-fpawlowski wants to merge 1 commit into
sfc-gh-fpawlowski wants to merge 1 commit into
Conversation
sfc-gh-fpawlowski
requested review from
sfc-gh-bkogan,
sfc-gh-mayliu and
sfc-gh-yixie
and removed request for
a team
August 24, 2026 00:10
sfc-gh-fpawlowski
force-pushed
the
SNOW-2912540-ud-reporting
branch
from
August 24, 2026 02:55
3b135a2 to
1fddef5
Compare
Previous 5-group attempt on this branch accumulated a lot of ad-hoc debugging hacks (checkout-target flip-flopping, dead-token additions, manual git-fetch detours) while chasing what turned out to be a red herring. Reverting those left the branch back at its original 2-group form -- losing the intended 5-group scope in the process. This rebuilds cleanly from ud-ci-workflow-auto-triggered-full-improvements (unit-integ/scala/modin/datasource/doctest), using the already-proven patch from snowpark-ud-job-testing (scripts/patch_new_workflow_for_verification.py + verify_ud_snippet.py) for the install-hardening + UD-verification logic, instead of reinventing it. repository: snowflakedb/universal-driver is left untouched from the source -- this is the repo snowpark-ud-job-testing has reliably dispatched against for weeks (see its JOBS.md history), unlike snowflakedb/drivers which had persistent, never-fully-root-caused actions/checkout fetch failures earlier this session. Only change beyond the source: dropped the concurrency block (confirmed none of odbc-reports' other UD-dispatch sibling jobs use one either -- see commit history for the concurrency-collision risk this avoids).
sfc-gh-fpawlowski
force-pushed
the
SNOW-2912540-ud-reporting
branch
from
August 24, 2026 03:17
1fddef5 to
8a0ba9d
Compare
| .tox/"$TOX"/bin/pip install --force-reinstall --no-deps "${ud_connector_path}" | ||
| echo "reinstall exit code: $?" | ||
| elif [ -n "${snowflake_path}" ]; then | ||
| .tox/"$TOX"/bin/pip install --force-reinstall --no-deps ${snowflake_path}/snowflake_connector_python*.whl |
Contributor
There was a problem hiding this comment.
Missing quotes around ${snowflake_path} variable. This will cause word splitting and glob expansion if the path contains spaces or special characters.
# Current (broken):
.tox/"$TOX"/bin/pip install --force-reinstall --no-deps ${snowflake_path}/snowflake_connector_python*.whl
# Fixed:
.tox/"$TOX"/bin/pip install --force-reinstall --no-deps "${snowflake_path}"/snowflake_connector_python*.whlThis is inconsistent with line 221 which correctly quotes "${ud_connector_path}".
Suggested change
| .tox/"$TOX"/bin/pip install --force-reinstall --no-deps ${snowflake_path}/snowflake_connector_python*.whl | |
| .tox/"$TOX"/bin/pip install --force-reinstall --no-deps "${snowflake_path}"/snowflake_connector_python*.whl | |
Spotted by Graphite
Is this helpful? React 👍 or 👎 to let us know.
sfc-gh-fpawlowski
marked this pull request as draft
August 24, 2026 03:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Replaces this branch's 2-group UD test matrix (
integration/scala, ported fromud-ci-workflow-auto-triggered-full) with the 5-group architecture (unit-integ/scala/modin/datasource/doctest, ported fromud-ci-workflow-auto-triggered-full-improvements): UD is built once via a dedicatedbuild-udjob (wheel fromsnowflakedb/universal-driver) and consumed as a downloaded artifact, instead of each test job pip-installing a git ref inline.Two deliberate deviations from
ud-ci-workflow-auto-triggered-full-improvementsConcurrency block removed. The source branch's
concurrency: group: ud-tests-${{ github.ref }}, cancel-in-progress: truekeys only on the git ref hosting the workflow file, not on the UD ref under test. odbc-reports dispatches this same ref repeatedly, concurrently, with a differentud-refper historical snapshot date — that keying would cancel one in-flight backfill run whenever another started, and a cancelled run reports as a permanenterrors: 1rather than a retriable missing entry. Confirmed none of odbc-reports' other four UD-dispatch sibling jobs (snowflake-cli, snowflake-sqlalchemy, dbt-adapters, airflow) use a concurrency block either, so this matches the existing convention rather than inventing a one-off.Fail-fast UD-install verification redesigned to poison output, not just exit. This job has
continue-on-error: trueat the job level plus a separateif: always()"Extract results" step — a bareexit 1wouldn't stop a silently-installed legacy connector's misleading pass/fail counts from being scraped and reported as real UD results. The verification step now overwritesreports/test-output.logwith1 errorson failure so the downstream extraction reflects the truth.scripts/tox_install_cmd.shneeded no changes (already hardened identically on both source branches:set -o pipefail,--no-depson the UD reinstall).tox.inicopied verbatim fromud-ci-workflow-auto-triggered-full-improvements(already passes throughud_connector_path/UD_RERUN_FLAGS/JUNIT_REPORT_DIR).Scope
No
src/ortests/changes — workflow/CI files only.Context
This is a long-lived CI-reference branch (same lifecycle as
ud-ci-workflow-auto-triggered-full-improvements), not intended to merge intomain— it's whatsnowflake-eng/odbc-reports'update-python-tests-cache.ymldispatches against to track Snowpark-on-UD pass rate over time. This PR is for reviewability of the diff.