Skip to content

ci: make the E2E test more reliable - #863

Merged
danieldk merged 1 commit into
mainfrom
more-reliable-e2e-test
Sep 30, 2026
Merged

danieldk merged 1 commit into
mainfrom
more-reliable-e2e-test

Conversation

@danieldk

Copy link
Copy Markdown
Member

The E2E test fails very often. This as two factors:

  1. kernel-builder list-variants | tail -n1 is not a very reliable way
    to get a good variant to build. We often have RCs where the
    corresponding is not pip-installable.
  2. pip install torch does not reliably install the correct versions,
    e.g. the stable version may have been increased.

So instead, just build for combinations that are known to be available.

While at it, make the versions configurable, so that it is possible to
fire off the E2E test with another configuration.

The E2E test fails very often. This as two factors:

1. `kernel-builder list-variants | tail -n1` is not a very reliable way
   to get a good variant to build. We often have RCs where the
   corresponding is not pip-installable.
2. `pip install torch` does not reliably install the correct versions,
   e.g. the stable version may have been increased.

So instead, just build for combinations that are known to be available.

While at it, make the versions configurable, so that it is possible to
fire off the E2E test with another configuration.
@danieldk
danieldk force-pushed the more-reliable-e2e-test branch from 13e5a09 to e93e773 Compare September 30, 2026 07:38

@sayakpaul sayakpaul left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Superb!

Comment on lines +31 to +32
TORCH_VERSION: ${{ inputs.torch_version || '2.14' }}
CUDA_VERSION: ${{ inputs.cuda_version || '13.2' }}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice!

Comment on lines +162 to +163
assert torch.__version__.startswith(os.environ['TORCH_VERSION'] + '.'), torch.__version__
assert torch.version.cuda == os.environ['CUDA_VERSION'], torch.version.cuda

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool!

@danieldk
danieldk merged commit cc91fb9 into main Sep 30, 2026
51 checks passed
@danieldk
danieldk deleted the more-reliable-e2e-test branch September 30, 2026 08:12
@github-actions

Copy link
Copy Markdown

Coverage report — kernels/

Measured on: Python 3.10 / Torch 2.13.0.
Other CI configurations are not included in this number.
Hardware-gated code paths (ROCm/XPU/NPU/Darwin/Windows) are excluded or unreachable on the Linux+CUDA runner.

Total coverage: 87.2% — threshold: 80% — ✅

Per-file breakdown
Name Stmts Miss Cover Missing
src/kernels/__init__.py 14 0 100%
src/kernels/_system.py 6 1 83% 10
src/kernels/_versions.py 130 14 89% 53, 59-60, 63-64, 102, 165-170, 199, 219
src/kernels/archs.py 56 1 98% 94
src/kernels/backends.py 213 62 71% 42, 46, 50-53, 70, 92, 110, 119, 123, 127-129, 150, 159, 163, 167-169, 190, 201, 203, 210-213, 226, 230, 234-254, 262, 285-305
src/kernels/compat.py 9 1 89% 5
src/kernels/deps.py 70 1 99% 56
src/kernels/hf_hub.py 63 2 97% 21, 23
src/kernels/importer.py 44 5 89% 80, 84, 87, 101-102
src/kernels/install.py 21 7 67% 76-100
src/kernels/layer/__init__.py 6 0 100%
src/kernels/layer/_interval_tree.py 103 4 96% 23, 52, 147, 150
src/kernels/layer/device.py 48 14 71% 42, 47-49, 91, 96-98, 101, 149, 152, 155-157
src/kernels/layer/func.py 85 6 93% 90, 115, 191, 311, 338, 368
src/kernels/layer/globals.py 5 0 100%
src/kernels/layer/kernelize.py 80 8 90% 258, 293, 301-302, 308, 312, 328-330
src/kernels/layer/layer.py 215 14 93% 182, 229, 256, 390, 470-471, 492, 500, 511, 540, 544, 557, 610, 640
src/kernels/layer/mode.py 14 0 100%
src/kernels/layer/repos.py 144 42 71% 27, 33, 36-43, 63-64, 70, 73-76, 90, 94, 103-104, 110, 113-116, 123-124, 130, 133-136, 143-144, 150, 153-156, 163-164, 170, 173-176, 257
src/kernels/load.py 71 2 97% 338, 378
src/kernels/locking.py 89 64 28% 35-83, 91-98, 102-125, 137, 152-159, 165-175, 179-186
src/kernels/python_deps.py 58 6 90% 59-60, 64-65, 101, 104
src/kernels/resolver.py 156 2 99% 220, 226
src/kernels/status.py 50 2 96% 25, 79
src/kernels/validate.py 88 5 94% 9, 100, 167, 190-191
src/kernels/variants.py 278 17 94% 65, 96, 117, 147, 256-257, 299-302, 304, 388-394, 400-406, 455-461
src/kernels/verify.py 127 6 95% 46, 202-204, 318-319
TOTAL 2243 286 87%

Updated by the Test kernels workflow on commit e93e773aa71bd1d647b27b59a68f26d97f77cfde.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants