The GitHub Actions job "Required Checks" on texera.git/main has failed. Run started by GitHub user github-merge-queue[bot] (triggered by github-merge-queue[bot]).
Head commit for run: 6daa84641094185690ec1d721f91de29635ebd93 / Kary Zheng <[email protected]> feat(histogram): declare Distribution Type's values as a schema enum (#7259) ### What changes were proposed in this PR? `marginal` — the **Distribution Type** field — was a plain string whose legal values existed only in its description, so the form rendered a free-text box. It now declares them as a schema `enum`: the empty string, which is the value saved Histograms already hold and which code generation reads as "no marginal plot", plus `rug`, `box`, `violin` and `histogram`. The property editor validates a stored property against this enum, so the empty value has to stay in the list rather than be replaced by a `none` sentinel. The enum exposes `histogram` too. `px.histogram` accepts it and the operator always could, but the description named only three, so it was unreachable in practice. ### Why are the changes needed? The value is interpolated straight into `px.histogram(..., marginal=<value>)`, so a typo reaches plotly and fails inside it with `AttributeError: 'NoneType' object has no attribute 'constructor'` — an error that mentions nothing the user typed. ### Any related issues, documentation, discussions? Closes #7209 ### How was this PR tested? `HistogramChartOpDescSpec`, 7 tests. Two are new: one asserts the generated schema's `marginal` enum is exactly the five values, empty included, since that is what the property editor validates a stored value against; the other deserializes a Histogram saved with `marginal: ""` and asserts the rendered figure carries no `marginal=` argument. `WorkflowOperator/compile`, `scalafmtCheckAll` and `scalafixAll --check` are clean. ### Does this PR introduce any user-facing change? Yes. Distribution Type becomes a dropdown. Saved workflows are unaffected: the stored value, empty or one of `rug`, `box` and `violin`, stays legal and keeps its meaning. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Claude Opus 5) --------- Co-authored-by: Claude Opus 5 (1M context) <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/31211081555 With regards, GitHub Actions via GitBox
