This is an automated email from the ASF dual-hosted git repository.

aglinxinyuan pushed a change to branch xinyuan-loop-feb
in repository https://gitbox.apache.org/repos/asf/texera.git


    from 63d243353a refactor(amber): fold the loop_counter column onto State, 
drop StateStorage
     add e27d4d0527 test: close stream in upload-error test to prevent 
finalizer leak across tests (#5246)
     add f967080e38 test: add spec for UserDatasetListItemComponent (#5239)
     add d8c254c75a test: add unit spec for UserDatasetComponent (#5238)
     add a4a3df5af3 test: unit tests for LandingPageComponent (#5234)
     add 7bd6550056 feat: Welcome first-time contributors with comment commands 
guide (#5222)
     add ca829ec086 refactor: consolidate count and relative-time formatting 
utilities (#5220)
     add 85c4b0ca5d feat: show MiB unit label next to size-based admin settings 
inputs (#5066)
     add ec12c88860 feat: Add Python Virtual Environment Support: Add k8s 
Gateway Configuration (#5138)
     add 4cc7539ee1 fix(dataset): load cover image on detail page for private 
datasets (#5284)
     add 59f776c853 fix(workflow-operator): auto-rename empty CSV column 
headers (#5282)
     add 953e2c4b77 chore(asf): Allow texera committers to bypass branch 
protection (#5287)
     add b90e76d04a fix(asf): restore root bypass team (#5290)
     add 5b09ca1eb1 chore(licensing): refresh transitive versions in 
LICENSE-binary-python (#5159)
     add e2bd47337f docs: update NOTICE copyright to "2025 and onwards" (#5158)
     add a854812861 fix(amber): avoids false negative on _check_heartbeat when 
connection is established but close raises exception (#5027)
     add a1045ce55e fix(frontend): drop stale attribute references when an 
operator's input schema changes (#5294)
     add e6509191d2 fix(frontend): restore Regions and Status canvas toggles 
(#5160)
     add 34be37d60f test: cover ShareAccessComponent behaviors in spec (#5233)
     add 1b0ec78aa9 feat(huggingFace): add HuggingFaceModelResource for model 
browsing and media proxy (#5124)
     add ab79ea44d0 fix: remove duplicate NOTICE file under bin/single-node 
(#5303)
     add 2ebef32360 fix: enforce @RolesAllowed on microservice resources (#5199)
     add e25c28225f test(frontend): browser-mode spec for code-editor.component 
(#5241)
     add a8afdc487a test(compiling-service): add direct unit tests for 
WorkflowCompiler (#5022)
     add 0e5686ec2f chore(ci): rename python job/flag/label to pyamber (#5307)
     add eb287f3fc2 feat(config-service): split /config/pre-login from 
authenticated endpoints (#5305)
     add d26bff669e refactor: Drop /dashboard prefix from user-facing URLs 
(#5151)
     add 531d79ff22 fix: require non-null uid in   insertNewExecution (#5300)
     add d086455291 feat(k8s): add agent service and LiteLLM to the Helm chart 
(#5272)
     add 223a27b292 feat(dashboard): add public dataset card view (#5215)
     add 251a845f79 fix(frontend): preserve operator state border on workflow 
page return (#5146)
     add 0bfe9055e4 test: unit tests for LocalLoginComponent (#5235)
     add aa3a117986 test: cover hub.component sidebar gating and routerLinks 
(#5232)
     add f13d998180 Merge branch 'main' into xinyuan-loop-feb

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |   3 +-
 .github/labeler.yml                                |   8 +-
 .github/workflows/build.yml                        |  22 +-
 .github/workflows/create-release-candidate.yml     |   4 +-
 .github/workflows/required-checks.yml              |  58 +-
 .../workflows/welcome-first-time-contributor.yml   | 157 +++++
 CONTRIBUTING.md                                    |  40 ++
 NOTICE                                             |   2 +-
 .../service/resource/AccessControlResource.scala   |  28 +-
 .../apache/texera/AccessControlResourceSpec.scala  |  58 ++
 amber/LICENSE-binary-java                          |   1 +
 amber/LICENSE-binary-python                        |  28 +-
 amber/NOTICE-binary                                |  43 ++
 amber/src/main/python/core/runnables/heartbeat.py  |  16 +-
 .../apache/texera/web/TexeraWebApplication.scala   |   1 +
 .../web/resource/HuggingFaceModelResource.scala    | 750 +++++++++++++++++++++
 .../dashboard/DatasetSearchQueryBuilder.scala      |   3 +-
 .../resource/dashboard/UnifiedResourceSchema.scala |   6 +-
 .../pythonvirtualenvironment/PveResource.scala     |  11 +-
 .../PveWebsocketResource.scala                     |   4 +-
 .../service/ExecutionsMetadataPersistService.scala |  18 +-
 .../texera/web/service/WorkflowEmailNotifier.scala |   2 +-
 .../texera/web/service/WorkflowService.scala       |   9 +-
 .../test/python/core/runnables/test_heartbeat.py   |  10 +-
 .../storage/test_large_binary_output_stream.py     |  16 +-
 .../resource/HuggingFaceModelResourceSpec.scala    | 731 ++++++++++++++++++++
 .../ExecutionsMetadataPersistServiceSpec.scala     |  28 +-
 bin/computing-unit-master.dockerfile               |   2 +
 .../access-control-service-deployment.yaml         |  12 +-
 .../templates/access-control-service-service.yaml  |   4 +-
 ...l => agent-service-backend-traffic-policy.yaml} |  29 +-
 bin/k8s/templates/agent-service-deployment.yaml    |  79 +++
 ...akefs-secret.yaml => agent-service-secret.yaml} |  15 +-
 ...ice-service.yaml => agent-service-service.yaml} |  12 +-
 bin/k8s/templates/gateway-routes.yaml              |  51 ++
 bin/k8s/templates/gateway-security-policy.yaml     |   2 +-
 .../{gateway-backend.yaml => litellm-config.yaml}  |  13 +-
 bin/k8s/templates/litellm-deployment.yaml          |  85 +++
 ...g-service-service.yaml => litellm-service.yaml} |  12 +-
 .../templates/postgresql-init-script-config.yaml   |   7 +
 bin/k8s/templates/pylsp.yaml                       |   2 +-
 bin/k8s/values-development.yaml                    |  64 +-
 bin/k8s/values.yaml                                |  56 +-
 bin/single-node/NOTICE                             |   5 -
 build.sbt                                          |   2 +-
 codecov.yml                                        |   4 +-
 common/auth/build.sbt                              |   1 +
 .../org/apache/texera/auth/JwtAuthFilter.scala     |   9 +
 .../source/scan/csv/CSVScanSourceOpDesc.scala      |   6 +-
 .../scan/csv/ParallelCSVScanSourceOpDesc.scala     |   7 +-
 .../scan/csvOld/CSVOldScanSourceOpDesc.scala       |   7 +-
 .../source/scan/csv/CSVScanSourceOpDescSpec.scala  |  50 ++
 computing-unit-managing-service/build.sbt          |   7 +
 .../service/ComputingUnitManagingService.scala     |  29 +-
 .../ComputingUnitManagingServiceRunSpec.scala      |  27 +-
 .../org/apache/texera/service/ConfigService.scala  |  26 +-
 .../texera/service/resource/ConfigResource.scala   |  27 +-
 .../texera/service/ConfigServiceRunSpec.scala      |  27 +-
 .../service/resource/ConfigResourceAuthSpec.scala  | 187 +++++
 docs/tutorials/migrate-jupyter-notebook.md         |   2 +-
 .../texera/service/resource/DatasetResource.scala  |  45 ++
 .../service/resource/DatasetResourceSpec.scala     |  44 ++
 frontend/angular.json                              |   7 +-
 frontend/package.json                              |   1 +
 frontend/src/app/app-routing.constant.ts           |  49 +-
 frontend/src/app/app-routing.module.ts             |  35 +-
 .../app/common/service/gui-config.service.mock.ts  |   4 +
 .../app/common/service/gui-config.service.spec.ts  | 194 ++++++
 .../src/app/common/service/gui-config.service.ts   |  86 ++-
 .../app/common/service/user/auth-guard.service.ts  |   4 +-
 .../app/common/service/user/user.service.spec.ts   |  62 ++
 .../src/app/common/service/user/user.service.ts    |  29 +-
 frontend/src/app/common/util/format.util.spec.ts   | 140 ++++
 frontend/src/app/common/util/format.util.ts        |  36 +
 .../admin/execution/admin-execution.component.html |   2 +-
 .../execution/admin-execution.component.spec.ts    |  21 +
 .../admin/settings/admin-settings.component.html   |  34 +-
 .../admin/settings/admin-settings.component.scss   |  11 +
 .../settings/admin-settings.component.spec.ts      |   8 +
 .../dashboard/component/dashboard.component.html   |  22 +-
 .../component/dashboard.component.spec.ts          |  63 +-
 .../app/dashboard/component/dashboard.component.ts |  51 +-
 .../dataset-card-item.component.html               | 101 +++
 .../dataset-card-item.component.scss               | 198 ++++++
 .../dataset-card-item.component.spec.ts            | 158 +++++
 .../dataset-card-item.component.ts                 | 134 ++++
 .../user/list-item/list-item.component.html        |   4 +-
 .../user/list-item/list-item.component.spec.ts     |  70 ++
 .../user/list-item/list-item.component.ts          |  54 +-
 .../user/search-bar/search-bar.component.spec.ts   |   6 +-
 .../user/search-bar/search-bar.component.ts        |   4 +-
 .../search-results/search-results.component.html   |  80 ++-
 .../search-results/search-results.component.scss   |  18 +
 .../search-results/search-results.component.ts     |  11 +-
 .../share-access/share-access.component.spec.ts    | 473 ++++++++++++-
 .../user/share-access/share-access.component.ts    |  12 +-
 .../user-computing-unit-list-item.component.html   |   2 +-
 .../user-computing-unit-list-item.component.ts     |  27 +-
 .../dataset-detail.component.html                  |   5 +-
 .../dataset-detail.component.ts                    |  41 +-
 .../user-dataset-list-item.component.html          |   2 +-
 .../user-dataset-list-item.component.spec.ts       | 281 ++++++++
 .../user-dataset-list-item.component.ts            |   4 +-
 .../user-dataset/user-dataset.component.spec.ts    | 312 +++++++++
 .../user/user-dataset/user-dataset.component.ts    |   4 +-
 .../user/user-icon/user-icon.component.spec.ts     |  32 +
 .../user/user-icon/user-icon.component.ts          |   4 +-
 .../user-project-list-item.component.ts            |   4 +-
 .../user-workflow-list-item.component.html         |   4 +-
 .../user-workflow-list-item.component.ts           |   6 +-
 .../user-workflow/user-workflow.component.spec.ts  |  19 +
 .../user/user-workflow/user-workflow.component.ts  |   4 +-
 .../service/admin/guard/admin-guard.service.ts     |   4 +-
 .../service/user/dataset/dataset.service.ts        |   4 +
 .../local-login/local-login.component.spec.ts      | 355 ++++++++++
 .../about/local-login/local-login.component.ts     |   6 +-
 .../browse-section.component.spec.ts               |  37 +
 .../browse-section/browse-section.component.ts     |  24 +-
 .../hub-search-result.component.html               |  41 +-
 .../hub-search-result.component.scss               |  35 +
 .../hub-search-result.component.ts                 |  31 +-
 frontend/src/app/hub/component/hub.component.html  |   6 +-
 .../src/app/hub/component/hub.component.spec.ts    | 165 +++++
 frontend/src/app/hub/component/hub.component.ts    |  12 +-
 .../landing-page/landing-page.component.spec.ts    | 209 ++++++
 .../landing-page/landing-page.component.ts         |  12 +-
 .../detail/hub-workflow-detail.component.ts        |  14 +-
 frontend/src/app/hub/service/hub.service.ts        |  21 +
 .../code-editor.component.browser.spec.ts          | 324 +++++++++
 .../workspace/component/menu/menu.component.html   |   2 +-
 .../component/menu/menu.component.spec.ts          | 110 +++
 .../app/workspace/component/menu/menu.component.ts |  18 +-
 .../computing-unit-selection.component.ts          |  10 +-
 .../workflow-editor/workflow-editor.component.scss |   8 +-
 .../workflow-editor.component.spec.ts              | 421 ++++++++----
 .../workflow-editor/workflow-editor.component.ts   |  80 ++-
 .../component/workspace.component.spec.ts          |  46 ++
 .../app/workspace/component/workspace.component.ts |   4 +-
 .../workflow-compiling.service.spec.ts             | 242 +++++++
 .../compile-workflow/workflow-compiling.service.ts |  83 +++
 .../dynamic-schema/dynamic-schema.service.ts       |   6 +-
 .../virtual-environment.service.ts                 |  11 +-
 .../model/joint-graph-wrapper.spec.ts              |  25 +
 .../workflow-graph/model/joint-graph-wrapper.ts    |  22 +-
 frontend/src/browser-buffer-polyfill.ts            |  44 ++
 frontend/vitest.browser.config.ts                  |  17 +-
 frontend/yarn.lock                                 |   1 +
 workflow-compiling-service/LICENSE-binary          |   3 +
 workflow-compiling-service/build.sbt               |   1 +
 .../texera/service/WorkflowCompilingService.scala  |  23 +-
 .../amber/compiler/WorkflowCompilerSpec.scala      | 317 +++++++++
 .../service/WorkflowCompilingServiceRunSpec.scala  |  27 +-
 .../resource/WorkflowCompilationResourceSpec.scala | 260 +++----
 153 files changed, 8076 insertions(+), 952 deletions(-)
 create mode 100644 .github/workflows/welcome-first-time-contributor.yml
 create mode 100644 
amber/src/main/scala/org/apache/texera/web/resource/HuggingFaceModelResource.scala
 create mode 100644 
amber/src/test/scala/org/apache/texera/web/resource/HuggingFaceModelResourceSpec.scala
 copy bin/k8s/templates/{gateway-security-policy.yaml => 
agent-service-backend-traffic-policy.yaml} (64%)
 create mode 100644 bin/k8s/templates/agent-service-deployment.yaml
 copy bin/k8s/templates/{lakefs-secret.yaml => agent-service-secret.yaml} (60%)
 copy bin/k8s/templates/{config-service-service.yaml => 
agent-service-service.yaml} (74%)
 copy bin/k8s/templates/{gateway-backend.yaml => litellm-config.yaml} (81%)
 create mode 100644 bin/k8s/templates/litellm-deployment.yaml
 copy bin/k8s/templates/{config-service-service.yaml => litellm-service.yaml} 
(76%)
 delete mode 100644 bin/single-node/NOTICE
 copy 
access-control-service/src/test/scala/org/apache/texera/service/AccessControlServiceRunSpec.scala
 => 
computing-unit-managing-service/src/test/scala/org/apache/texera/service/ComputingUnitManagingServiceRunSpec.scala
 (56%)
 copy 
access-control-service/src/test/scala/org/apache/texera/service/AccessControlServiceRunSpec.scala
 => 
config-service/src/test/scala/org/apache/texera/service/ConfigServiceRunSpec.scala
 (57%)
 create mode 100644 
config-service/src/test/scala/org/apache/texera/service/resource/ConfigResourceAuthSpec.scala
 create mode 100644 frontend/src/app/common/service/gui-config.service.spec.ts
 create mode 100644 frontend/src/app/common/util/format.util.spec.ts
 create mode 100644 
frontend/src/app/dashboard/component/user/dataset-card-item/dataset-card-item.component.html
 create mode 100644 
frontend/src/app/dashboard/component/user/dataset-card-item/dataset-card-item.component.scss
 create mode 100644 
frontend/src/app/dashboard/component/user/dataset-card-item/dataset-card-item.component.spec.ts
 create mode 100644 
frontend/src/app/dashboard/component/user/dataset-card-item/dataset-card-item.component.ts
 create mode 100644 
frontend/src/app/dashboard/component/user/user-dataset/user-dataset-list-item/user-dataset-list-item.component.spec.ts
 create mode 100644 
frontend/src/app/dashboard/component/user/user-dataset/user-dataset.component.spec.ts
 create mode 100644 
frontend/src/app/hub/component/about/local-login/local-login.component.spec.ts
 create mode 100644 frontend/src/app/hub/component/hub.component.spec.ts
 create mode 100644 
frontend/src/app/hub/component/landing-page/landing-page.component.spec.ts
 create mode 100644 
frontend/src/app/workspace/component/code-editor-dialog/code-editor.component.browser.spec.ts
 create mode 100644 
frontend/src/app/workspace/service/compile-workflow/workflow-compiling.service.spec.ts
 create mode 100644 frontend/src/browser-buffer-polyfill.ts
 create mode 100644 
workflow-compiling-service/src/test/scala/org/apache/texera/amber/compiler/WorkflowCompilerSpec.scala
 copy 
access-control-service/src/test/scala/org/apache/texera/service/AccessControlServiceRunSpec.scala
 => 
workflow-compiling-service/src/test/scala/org/apache/texera/service/WorkflowCompilingServiceRunSpec.scala
 (56%)

Reply via email to