fix(ci): use numba-cuda-mlir wheel-only skips - #2733
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
|
The targeted validation passed: PR #2733 fixes issue #2726. The workflow remains red only because of unrelated failures.
In the original job, two subtests failed because
That is unusually clean confirmation of the fix. The new run also used PR workflow SHA Corrections To Issue #2726 The issue’s central diagnosis is right, but two details are inaccurate:
Therefore, the evidence actually strengthens the PR’s rationale: every tested row now uses 0.5.0, and none needs the old version-gated deselects. Remaining Red Jobs Both runs had 42 jobs: 31 succeeded and 11 failed. The original #2726 failure disappeared but was replaced by one unrelated Windows MLIR flake:
That last test uses an uninitialized My conclusion: the run is sufficient targeted evidence that #2733 fixes #2726 and is ready for review. |
brandon-b-miller
left a comment
There was a problem hiding this comment.
LGTM. Should be able to remove the workaround once NVIDIA/numba-cuda-mlir#287 is released and then we follow up with releasing #2739 and depending on that in numba-cuda-mlir instead of its existing mechanisms
Description
closes #2726
Explanation of the failure reported in #2726
The numba-cuda-mlir nightly jobs install the latest compatible release and then check out that release's matching test suite. The failing nightly resolved numba-cuda-mlir v0.5.0.
All ten numba-cuda-mlir
--deselectentries were guarded byNUMBA_CUDA_MLIR_VER <= 0.4.1. Because v0.5.0 did not satisfy that condition, none of the deselects were passed to pytest. That was correct for nine of the entries, which worked around an old-version bug, but the remaining entry addressed a wheel-only environment constraint instead of a version-specific failure.test_nvjitlink_jit_with_linkable_code_lto_dump_assembly_warnexercises some linkable inputs that requirecuobjdump. The wheel-only Linux runner does not provide that executable. CUDA Python also did not setNUMBA_CUDA_MLIR_TEST_WHEEL_ONLY, so the test's existing wheel-only skip guard was not activated. The affected inputs therefore attempted to invoke the missing executable and failed.Why none of the
--deselectentries are needed anymoreThe ten entries fall into two classes:
Nine version-gated deselects
Nine array-slicing and CUDA Array Interface tests were deselected to work around NVIDIA/numba-cuda-mlir#135 in numba-cuda-mlir v0.4.1 and earlier. The fix shipped in v0.4.2.
Current CI installs the latest compatible numba-cuda-mlir release, currently v0.5.0, and no configured nightly row resolves v0.4.1 or earlier. These nine deselects therefore no longer protect any supported CI configuration.
One
cuobjdump-related deselectThe remaining entry deselected the complete nvJitLink test to avoid requiring
cuobjdump. The test already callsself.skipTest()for only the linkable inputs inrequire_cuobjdumpwhenNUMBA_CUDA_MLIR_TEST_WHEEL_ONLYis set.This PR sets
NUMBA_CUDA_MLIR_TEST_WHEEL_ONLY=1for wheel-only (LOCAL_CTK != 1) numba-cuda-mlir jobs on Linux and Windows, matching numba-cuda-mlir's own wheel-test contract. Thefatbinand object-file inputs that requirecuobjdumpare skipped, while the archive, cubin, and PTX inputs continue to run. The whole-test deselect is therefore unnecessary.The existing benchmark and documentation-example collection ignores remain unchanged because they address unrelated imports of the
numbapackage.Testing
pre-commit run --all-filesChecklist