Skip to main content

tilelang-submit-pr

Prepare, update, and submit TileLang pull requests with repository-specific CI readiness checks. Use when asked to commit, push, publish, open, or make an existing TileLang PR ready; covers scoped diffs, backend-aware test gating, build freshness, formatting, validation, and post-push verification. Do not use for ordinary local builds or test runs without PR intent.

来源信息

仓库
tile-ai/tilelang
最近来源活动
2026年9月7日 19:58
检测到的 SKILL.md 语言
英语
星标
8,571
分支
875

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
tilelang-submit-pr
description
Prepare, update, and submit TileLang pull requests with repository-specific CI readiness checks. Use when asked to commit, push, publish, open, or make an existing TileLang PR ready; covers scoped diffs, backend-aware test gating, build freshness, formatting, validation, and post-push verification. Do not use for ordinary local builds or test runs without PR intent.
# Submit a TileLang Pull Request ## Objective Make the intended patch reviewable and CI-ready before it is pushed. A request to inspect or test changes does not authorize committing, pushing, opening a PR, or changing an existing PR. When updating an existing PR, push its current head branch instead of opening a duplicate PR. ## Inspect the Patch - Check the worktree, branch, upstream, remotes, Git identity, PR head, and base. Preserve unrelated edits and real changes inside `3rdparty/tvm`. - Review the complete diff against the PR base, not only unstaged changes. Separate the intended fix from cleanup or generated files before staging. - After switching branches or changing the TVM gitlink, align a clean TVM submodule and rebuild before trusting tests that load native libraries. Never overwrite a dirty submodule to make the checkout appear clean. ## Audit Test Portability Read the current CI matrix in `.github/workflows/ci.yml`. Do not assume a test in a generic `testing/python` directory runs only on the backend used locally. - Decide whether each added or changed test is portable or backend-specific. Add `@tilelang.testing.requires_cuda`, `requires_rocm`, or `requires_metal` when it needs that backend's runtime, registered FFI passes, source syntax, headers, intrinsics, or code generator. - Explicit source-only lowering to a target such as `{"kind": "cuda", "arch": "sm_100a"}` still requires the CUDA backend to be built and registered. Mark it with `requires_cuda` even if no kernel runs. - Use a `requires_cuda_compute_version*` decorator when execution requires that physical GPU capability. An explicit-architecture source-generation test normally needs only `requires_cuda`. - Do not infer CUDA exclusivity from a PyTorch tensor using `device="cuda"`; PyTorch's ROCm build uses the same device spelling. - Do not rely on auto-target selection while asserting backend-specific source. Select the target explicitly and add its backend requirement. - If only one assertion is target-specific, split it from portable lowering or runtime coverage. Do not hide useful cross-backend coverage by marking a whole file or broad test group. - Before adding a skip marker to fix CI, confirm the failure is an unsupported test contract rather than a real regression in a supposedly portable path. Apply the requirement directly to every affected test, including parameterized tests: ```python @tilelang.testing.requires_cuda @pytest.mark.parametrize("op", ["sum", "max"]) def test_cuda_packed_codegen(op): ... ``` ## Validate the Current Head - Load `tilelang-build` when an install or rebuild is needed. Rebuild native code after a branch checkout when the existing build may be stale. - Run focused tests first, then the containing test file or suite. When practical, verify that an unsupported backend skips a target-specific test instead of failing during lowering, compilation, source inspection, or device setup. - Run `git diff --check` and `./format.sh`. Inspect every formatter change and keep only changes that belong to the PR. - Treat a green focused test as limited evidence. Report unrelated or environment-specific containing-suite failures separately instead of claiming that the whole suite passed. - Reinspect the final staged diff and ensure the recorded validation matches commands that actually completed successfully. ## Commit, Push, and Verify - Stage only the intended files and commit with the configured human identity. Keep commit messages and public PR text free of automation traces and local machine paths. - Prefer the existing writable fork remote and never force-push without explicit authorization. For an existing PR, verify its repository and head branch before pushing. - Write concise English PR text with specific bracketed component tags and list only completed validation. Do not create a draft unless the user requests it. - After pushing, verify that the PR's reported head SHA equals the pushed commit and report newly triggered checks as pending, passing, or failing separately. Do not wait for CI unless the user asks for monitoring.
在 GitHub 查看