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: 53a8b2eda89ee0017f4e4a91247035b6a0bf8daa / Xinyuan Lin <[email protected]> refactor(workflow-operator): share the chart output contract (#9204) ### What changes were proposed in this PR? The 48 Python visualization descriptors each restated the same output contract: a `getOutputSchemas` override returning one `html-content` STRING column on the single output port, and `producesDataFrame = false` so the exported script does not print the chart as a leaf DataFrame. A new trait, `PythonVisualizationOpDesc`, now declares both as `final` members, and the 48 descriptors extend it. The 41 Plotly charts keep `with PlotlyStandaloneCode`. | Surface | Pinned | | --- | --- | | output schema | one `html-content` STRING column on the single output port, independent of the input schemas | | exported script | not printed as a leaf DataFrame | | operator metadata | JSON schema and operator info unchanged for all 166 operators | The trait has no fields, so no JSON schema changes. Because both members are `final`, a chart that overrides either one no longer compiles. `VisualizationOutputSchemaSpec` still sweeps every registered chart. It now also requires every chart except the two Scala map operators, HtmlViz and UrlViz, to extend the trait, and asserts that `producesDataFrame()` is false next to the schema. ### Any related issues, documentation, discussions? Closes #9203. ### How was this PR tested? - `sbt "WorkflowOperator/test"`: each of its 2,769 tests (295 suites) has the same result before and after this change, compared test by test from the JUnit XML reports; the two `VisualizationOutputSchemaSpec` tests whose assertions grew were renamed and pass. Three tests fail on main and on this branch alike on the Windows machine used (a locked temp file in `FileScanSourceOpDescSpec`, a mount path in `PythonUdfUiParameterSupportSpec`, an exported-script comparison in `UrlVizOpDescSpec`); none touches the changed code. - `sbt "WorkflowCompilingService/testOnly org.apache.texera.amber.translator.*"`: 41 tests pass before and after. - The JSON schema and operator info of all 166 registered operators, dumped before and after, are identical. - Mutation check: making the trait's `producesDataFrame` return true fails the sweep, and so does pointing one chart (`BarChartOpDesc`) back at `PythonOperatorDescriptor` with its own correct overrides; overriding either `final` member in a chart fails to compile. - `sbt "WorkflowOperator/scalafmtCheck" "WorkflowOperator/Test/scalafmtCheck" "WorkflowOperator/scalafix --check" "WorkflowOperator/Test/scalafix --check"` ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Claude Opus 5.5) Report URL: https://github.com/apache/texera/actions/runs/40794812254 With regards, GitHub Actions via GitBox
