Skip to content

[CI] Diff translator-lit failures vs amd-staging baseline#188

Merged
lamb-j merged 1 commit into
amd-stagingfrom
users/lambj/spirv-ci-baseline-diff
May 8, 2026
Merged

[CI] Diff translator-lit failures vs amd-staging baseline#188
lamb-j merged 1 commit into
amd-stagingfrom
users/lambj/spirv-ci-baseline-diff

Conversation

@lamb-j

@lamb-j lamb-j commented May 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

The check-amd-llvm-spirv step is non-blocking because upstream Khronos churn breaks ~1 lit test per week. Today the sticky PR comment just lists N failing tests and asks the reviewer to compare against amd-staging manually — that's exactly the triage we ended up doing for #187 (22 lit FAILs, all pre-existing). It also misses the inverse signal: a Khronos-upstream merge PR often fixes tests that are red on amd-staging, and we'd like that surfaced too.

This change runs the translator lit suite twice:

  1. Once with the PR-head translator (existing behavior).
  2. Then again after git checkout'ing the translator subdir to amd-staging tip — incremental rebuild against the same build dir, so the second pass is cheap.

The github-script comment step diffs the two FAIL lists and partitions into three buckets:

Bucket Meaning
🔴 new In PR head, not in baseline — likely caused by this PR
🟢 fixed In baseline, not in PR head — resolved by this PR
⚠️ pre-existing In both — upstream/Khronos breakage, not on this PR

Headline picks the dominant bucket. Sticky-comment marker (<!-- spirv-ci:translator-lit -->) unchanged, so existing comments update in place. Falls back to the legacy single-list shape if the baseline run didn't produce a result.

The companion change for the ROCm/llvm-project copy of this workflow is in ROCm/llvm-project#2451.

The check-amd-llvm-spirv step is non-blocking because upstream Khronos
churn breaks ~1 lit test per week. Today the sticky comment just lists
N failing tests and tells the reviewer to compare against amd-staging
manually. That's the exact triage we did for #187 (22 lit FAILs, all
pre-existing). It also misses the inverse signal — a Khronos-upstream
merge PR often *fixes* tests red on amd-staging.

Run check-amd-llvm-spirv twice: once with the PR-head translator, then
again after swapping the translator subdir to amd-staging tip. Diff the
two FAIL lists in the github-script step and partition into:

  - new       (in PR, not in baseline)  -- likely caused by this PR
  - fixed     (in baseline, not in PR)  -- resolved by this PR
  - common    (in both)                 -- pre-existing breakage

Headline picks the dominant bucket. Sticky comment marker unchanged
(<!-- spirv-ci:translator-lit -->), so existing comments update in place.

Build dir is reused; CMake reconfigure + ninja incremental keep the
second pass cheap (only translator objects rebuild).

Falls back to the legacy single-list shape if the baseline run didn't
produce a result.
lamb-j added a commit to ROCm/llvm-project that referenced this pull request May 8, 2026
The check-amd-llvm-spirv step is non-blocking because upstream Khronos
churn breaks ~1 lit test per week. Today the sticky comment just lists
N failing tests and tells the reviewer to compare against amd-staging
manually. It also misses the inverse signal — a Khronos-upstream merge
PR often *fixes* tests red on amd-staging.

Run check-amd-llvm-spirv twice: once with the PR-head llvm-project,
then again after swapping llvm-project to amd-staging tip. Diff the two
FAIL lists in the github-script step and partition into:

  - new       (in PR, not in baseline)  -- likely caused by this PR
  - fixed     (in baseline, not in PR)  -- resolved by this PR
  - common    (in both)                 -- pre-existing breakage

Headline picks the dominant bucket. Sticky comment marker unchanged
(<!-- spirv-ci:translator-lit -->), so existing comments update in place.

The translator subdir at llvm/projects/SPIRV-LLVM-Translator/ is
untracked from llvm-project's tree, so the baseline `git checkout` of
amd-staging leaves the overlay alone. Build dir is reused; CMake
reconfigure + ninja incremental keep the second pass bounded by the PR
diff size — cheap on small PRs, larger on upstream-merge PRs.

Falls back to the legacy single-list shape if the baseline run didn't
produce a result.

Companion change in the ROCm/SPIRV-LLVM-Translator copy of this
workflow: ROCm/SPIRV-LLVM-Translator#188.
@lamb-j lamb-j merged commit 4476f1f into amd-staging May 8, 2026
1 check passed
@z1-cciauto

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown
Contributor

⚠️ SPIRV translator lit suite: 21 failing on PR head; baseline comparison unavailable (see run).

Failing tests
FAIL: LLVM_SPIRV :: constant/local-float-point-constants.ll
FAIL: LLVM_SPIRV :: extensions/EXT/SPV_EXT_float8/conversions_matrix.ll
FAIL: LLVM_SPIRV :: extensions/EXT/SPV_EXT_float8/conversions_scalar_vector.ll
FAIL: LLVM_SPIRV :: extensions/EXT/SPV_EXT_shader_atomic_float_/atomicrmw_fsub_half.ll
FAIL: LLVM_SPIRV :: extensions/INTEL/SPV_INTEL_float4/conversions_packed.ll
FAIL: LLVM_SPIRV :: extensions/INTEL/SPV_INTEL_float4/conversions_scalar_vector.ll
FAIL: LLVM_SPIRV :: extensions/INTEL/SPV_INTEL_fp_conversions/spv_intel_fp_conversions.ll
FAIL: LLVM_SPIRV :: extensions/INTEL/SPV_INTEL_int4/conversions_packed.ll
FAIL: LLVM_SPIRV :: extensions/INTEL/SPV_INTEL_sigmoid/sigmoid_f16.ll
FAIL: LLVM_SPIRV :: extensions/KHR/SPV_KHR_bfloat16/cooperative_matrix_bfloat16.ll
FAIL: LLVM_SPIRV :: extensions/KHR/SPV_KHR_cooperative_matrix/conversion_instructions.ll
FAIL: LLVM_SPIRV :: extensions/KHR/SPV_KHR_subgroup_rotate/SPV_KHR_subgroup_rotate.cl
FAIL: LLVM_SPIRV :: extensions/KHR/SPV_KHR_uniform_group_instructions/group-instructions.ll
FAIL: LLVM_SPIRV :: transcoding/float16.ll
FAIL: LLVM_SPIRV :: transcoding/image_signedness_spv_ir.ll
FAIL: LLVM_SPIRV :: transcoding/OpImageSampleExplicitLod_arg.cl
FAIL: LLVM_SPIRV :: transcoding/spec_const.ll
FAIL: LLVM_SPIRV :: transcoding/sub_group_clustered_reduce.ll
FAIL: LLVM_SPIRV :: transcoding/sub_group_non_uniform_arithmetic.ll
FAIL: LLVM_SPIRV :: transcoding/sub_group_shuffle.ll
FAIL: LLVM_SPIRV :: transcoding/sub_group_shuffle_relative.ll

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