The GitHub Actions job "Build and push images" on texera.git/main has failed. Run started by GitHub user bobbai00 (triggered by bobbai00).
Head commit for run: 7deed35fddf58bc910991af920f0cf4d16c46f9b / carloea2 <[email protected]> feat(workflow-operator): add Python UDF UI parameter injection model (#5141) ### What changes were proposed in this PR? This PR adds the Scala backend foundation for Python UDF UI parameters. It introduces: | Area | Change | | --- | --- | | UI parameter model | Adds `UiUDFParameter`, containing backend-compatible `attribute` metadata and an editable `value`. | | Python UDF injector | Adds `PythonUdfUiParameterInjector`, which validates UI parameters and injects a reserved hook method into supported Python UDF classes. | | Safe string encoding | Marks `Attribute.getName()` as encodable so UI parameter names are safely rendered through the Python template builder. | | Test coverage | Adds Scala tests for hook injection, validation, unsupported types, reserved method conflicts, and unchanged behavior when no UI parameters exist. | This PR is stacked after the merged frontend foundation PR #5043. It does not yet wire the injector into operator execution; that wiring is handled by later PRs in the stack. Existing Python UDF workflow execution remains unchanged in this PR because `PythonUDFOpDescV2`, `PythonUDFSourceOpDescV2`, and `DualInputPortsPythonUDFOpDescV2` are not modified here. ### Any related issues, documentation, discussions? Part of the Python UDF UI parameter feature split from `feat/ui-parameter`. Related tracking issue / stack: #5044 Stack order: 1. Frontend UI parameter building blocks: #5043 2. Scala backend injection model: this PR 3. Python runtime support 4. End-to-end integration ### How was this PR tested? Commands run: ```bash sbt "WorkflowOperator / Test / testOnly org.apache.texera.amber.operator.udf.python.PythonUdfUiParameterInjectorSpec" sbt scalafmtAll sbt scalafmtCheckAll "scalafixAll --check" ``` Results: - `PythonUdfUiParameterInjectorSpec`: 10 tests passed. - `scalafmtAll`: no file changes. - `scalafmtCheckAll` and `scalafixAll --check`: passed. ### Was this PR authored or co-authored using generative AI tooling? No --------- Co-authored-by: Xiaozhen Liu <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/26992860430 With regards, GitHub Actions via GitBox
