Skip to content

ci: check the wasm32 runtime ABI table in lint (stale 4x in one day); regenerate it - #11607

Merged
proggeramlug merged 2 commits into
mainfrom
ci/wasm-abi-check-in-lint
Sep 28, 2026
Merged

proggeramlug merged 2 commits into
mainfrom
ci/wasm-abi-check-in-lint

Conversation

@proggeramlug

@proggeramlug proggeramlug commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

crates/perry-codegen/src/wasm32/runtime_abi.tsv is stale on main again. That is the fourth time on 2026-09-27: #11577 regenerated it, #11554 and #11413 re-touched it, and #11581/#11598 changed runtime extern signatures since. Each time, the wasi-check workflow went red on every PR it ran for.

The cause is structural. --check-wasm-abi runs only in wasi-check.yml, which is path-filtered and not required. A PR that changes a runtime signature is never told, and the next unrelated WASI-touching PR inherits the failure.

This PR:

  • regenerates the table (python3 scripts/runtime_abi_check.py --emit-wasm-abi);
  • adds python3 scripts/runtime_abi_check.py --check-wasm-abi to the existing "Native runtime ABI consistency" step in lint, next to --check-native. It is text-only (~30 s, no build), so the PR that changes a signature regenerates the table in the same PR.

No new step is added, so the lint step count is unchanged.

Summary by CodeRabbit

  • Chores
    • The required lint workflow now checks WebAssembly ABI consistency, so mismatches can fail the check regardless of which files a pull request changes.
    • Pull requests that change runtime external signatures need to update the WebAssembly ABI table against the latest main branch.

@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 30bba76f-92ab-4e38-94bd-d44f9902700b

📥 Commits

Reviewing files that changed from the base of the PR and between 3558c5a and eef506d.

⛔ Files ignored due to path filters (1)
  • crates/perry-codegen/src/wasm32/runtime_abi.tsv is excluded by !**/*.tsv
📒 Files selected for processing (2)
  • .github/workflows/test.yml
  • changelog.d/11607-wasm-abi-check-in-lint.md

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 5 remain after this review.


📝 Walkthrough

Walkthrough

The workflow adds a WASM ABI check to the native runtime ABI consistency step. The changelog describes the check in the required lint job and explains when to regenerate the ABI table.

Changes

Wasm ABI Lint Check

Layer / File(s) Summary
Add wasm ABI validation
.github/workflows/test.yml, changelog.d/11607-wasm-abi-check-in-lint.md
The workflow runs runtime_abi_check.py --check-wasm-abi after the self-test and native ABI check. Comments describe the ABI table and its update command. The changelog describes the check in required lint and the table regeneration process.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to eef50

The required lint workflow now checks the wasm ABI table against runtime signatures. No actionable merge blocker was identified in this change.

Architecture Summary

Architecture risk: 🔵 Low · up to eef50

The change affects 1 system.

Changed systems: changelog.d

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — changelog.d (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in changelog.d/11607-wasm-abi-check-in-lint.md: Adds a changelog entry describing the wasm ABI check’s move to required lint and the associated table regeneration for runtime extern signature changes.
  • observed — Modified behavior in .github/workflows/test.yml: Added comments describing the derived WASM ABI table and its update command. The existing Native runtime ABI consistency step now also checks the WASM ABI after its self-test and native ABI check.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the problem, motivation, affected command, and main changes. It does not follow the required template because it omits the Changes, Related issue, Test plan, Screenshots / out… Use the repository template. Add the required sections, mark the applicable test-plan and checklist items, state the verification results, and use "n/a" for Related issue if no issue applies.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the main change: adding the wasm32 runtime ABI table check to lint and regenerating the table. It is somewhat long but remains specific and readable.
Full details: Description check

Explanation

The description explains the problem, motivation, affected command, and main changes. It does not follow the required template because it omits the Changes, Related issue, Test plan, Screenshots / output, and Checklist sections.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@proggeramlug
proggeramlug merged commit 94177cc into main Sep 28, 2026
58 of 60 checks passed
@proggeramlug
proggeramlug deleted the ci/wasm-abi-check-in-lint branch September 28, 2026 05:00
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.

1 participant