Skip to content

Pre-release gate: generate + compile against the LATEST blend beta (not just pinned versions) #203

Description

@jagguji

Why

The benchmark pins specific blend versions (0.0.36, 0.0.37-beta.8, 0.0.37). Twice now, a regression compiled fine on the pinned versions but broke on a newer real one — caught only by ad-hoc downstream validation, after the change was on main:

blend is "the primary downstream target" (blend-rescript regenerates from it), and it moves faster than our pins. A crash-before-emit is also invisible to compile gates (no output to compile), so only running the latest package catches this class.

Proposal

Add a pre-release (and/or scheduled) gate that resolves the latest @juspay/blend-design-system@beta dist-tag, generates bindings with the shipped checkout, and asserts it (a) exits 0 with non-empty output and (b) compiles on ReScript 12. Surface a diff vs the last pinned blend baseline for review. Run it before cutting any release so a "compiles on pinned, crashes on latest" regression is caught before it ships, not after.

Complements pinning the exact failing version as a regression lock (as done for 0.0.38-beta.1 in #199/PR #201) — the pin catches that case forever; this gate catches the next one.

Surfaced during the #198 post-mortem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions