Skip to content

feat(cli): add release pipeline#36365

Merged
wylswz merged 14 commits into
feat/clifrom
wyl/cli-release
May 19, 2026
Merged

feat(cli): add release pipeline#36365
wylswz merged 14 commits into
feat/clifrom
wyl/cli-release

Conversation

@wylswz
Copy link
Copy Markdown
Contributor

@wylswz wylswz commented May 19, 2026

Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

Added a release pipeline.

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran make lint && make type-check (backend) and cd web && pnpm exec vp staged (frontend) to appease the lint gods

@dosubot dosubot Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label May 19, 2026
@github-actions github-actions Bot added the web This relates to changes on the web. label May 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-05-19 02:37:46.403295129 +0000
+++ /tmp/pyrefly_pr.txt	2026-05-19 02:37:37.038203813 +0000
@@ -579,7 +579,7 @@
 ERROR Class member `DuplicateDocumentIndexingTaskProxy.PRIORITY_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
   --> services/document_indexing_proxy/duplicate_document_indexing_task_proxy.py:15:5
 ERROR `handled_tenant_count` was assigned in the current scope before the nonlocal declaration [unknown-name]
-  --> services/plugin/plugin_migration.py:92:34
+  --> services/plugin/plugin_migration.py:93:34
 ERROR `dict[str, Any]` is not assignable to attribute `credentials` with type `Never` [bad-assignment]
    --> services/trigger/trigger_provider_service.py:487:40
 ERROR `int` is not assignable to attribute `credential_expires_at` with type `Never` [bad-assignment]
@@ -865,17 +865,15 @@
 ERROR Generator function should return `Generator` [bad-return]
   --> tests/test_containers_integration_tests/repositories/test_workflow_run_repository.py:89:56
 ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/test_containers_integration_tests/services/auth/test_api_key_auth_service.py:190:16
-ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/services/dataset_service_update_delete.py:41:20
-ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/services/dataset_service_update_delete.py:47:62
+   --> tests/test_containers_integration_tests/services/auth/test_api_key_auth_service.py:191:16
+ERROR Could not find name `Session` [unknown-name]
+  --> tests/test_containers_integration_tests/services/plugin/test_plugin_parameter_service.py:54:37
+ERROR Could not find name `Session` [unknown-name]
+  --> tests/test_containers_integration_tests/services/plugin/test_plugin_parameter_service.py:96:37
 ERROR Object of class `NoneType` has no attribute `version` [missing-attribute]
-  --> tests/test_containers_integration_tests/services/plugin/test_plugin_service.py:50:16
+  --> tests/test_containers_integration_tests/services/plugin/test_plugin_service.py:53:16
 ERROR Object of class `NoneType` has no attribute `version` [missing-attribute]
-  --> tests/test_containers_integration_tests/services/plugin/test_plugin_service.py:68:16
-ERROR Argument `Literal['custom']` is not assignable to parameter `preferred_provider_type` with type `ProviderType | SQLCoreOperations[ProviderType]` in function `models.provider.TenantPreferredModelProvider.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/services/plugin/test_plugin_service.py:377:37
+  --> tests/test_containers_integration_tests/services/plugin/test_plugin_service.py:71:16
 ERROR Object of class `NoneType` has no attribute `open_id` [missing-attribute]
    --> tests/test_containers_integration_tests/services/test_account_service.py:530:16
 ERROR Object of class `Tenant` has no attribute `role` [missing-attribute]
@@ -906,10 +904,6 @@
    --> tests/test_containers_integration_tests/services/test_advanced_prompt_template_service.py:894:63
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
    --> tests/test_containers_integration_tests/services/test_agent_service.py:134:38
-ERROR `str` is not assignable to attribute `agent_mode` with type `Never` [bad-assignment]
-   --> tests/test_containers_integration_tests/services/test_agent_service.py:138:47
-ERROR Argument `Literal['account']` is not assignable to parameter `created_by_role` with type `CreatorUserRole | SQLCoreOperations[CreatorUserRole]` in function `models.model.MessageAgentThought.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/services/test_agent_service.py:275:29
 ERROR Argument `str | None` is not assignable to parameter `created_by` with type `SQLCoreOperations[str] | str` in function `models.model.MessageAgentThought.__init__` [bad-argument-type]
    --> tests/test_containers_integration_tests/services/test_agent_service.py:565:24
 ERROR Argument `str | None` is not assignable to parameter `created_by` with type `SQLCoreOperations[str] | str` in function `models.model.MessageAgentThought.__init__` [bad-argument-type]
@@ -949,7 +943,7 @@
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
    --> tests/test_containers_integration_tests/services/test_api_based_extension_service.py:527:57
 ERROR Argument `Literal['app']` is not assignable to parameter `value` with type `ApiTokenType | SQLCoreOperations[ApiTokenType]` in function `sqlalchemy.orm.base.Mapped.__set__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/services/test_api_token_service.py:27:26
+  --> tests/test_containers_integration_tests/services/test_api_token_service.py:28:26
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
    --> tests/test_containers_integration_tests/services/test_app_dsl_service.py:161:42
 ERROR Argument `Literal['simple']` is not assignable to parameter `prompt_type` with type `PromptType | SQLCoreOperations[PromptType]` in function `models.model.AppModelConfig.__init__` [bad-argument-type]
@@ -1117,7 +1111,7 @@
 ERROR Argument `Literal['owner']` is not assignable to parameter `role` with type `SQLCoreOperations[TenantAccountRole] | TenantAccountRole` in function `models.account.TenantAccountJoin.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/services/test_human_input_delivery_test.py:32:18
 ERROR Unexpected keyword argument `whole_workspace` in function `core.workflow.human_input_adapter.EmailRecipients.__init__` [unexpected-keyword]
-   --> tests/test_containers_integration_tests/services/test_human_input_delivery_test_service.py:240:44
+   --> tests/test_containers_integration_tests/services/test_human_input_delivery_test_service.py:241:44
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/services/test_message_export_service.py:53:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
@@ -1916,16 +1910,6 @@
    --> tests/unit_tests/controllers/console/app/test_app_response_models.py:112:12
 ERROR Object of class `object` has no attribute `exec_module` [missing-attribute]
    --> tests/unit_tests/controllers/console/app/test_app_response_models.py:113:5
-ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `controllers.console.app.workflow._parse_file` [bad-argument-type]
-  --> tests/unit_tests/controllers/console/app/test_workflow.py:26:40
-ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `controllers.console.app.workflow._parse_file` [bad-argument-type]
-  --> tests/unit_tests/controllers/console/app/test_workflow.py:44:42
-ERROR Object of class `FunctionType` has no attribute `assert_called_once_with` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_workflow.py:406:5
-ERROR Object of class `FunctionType` has no attribute `call_count` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_workflow.py:438:12
-ERROR `in` is not supported between `Literal['Maximum']` and `None` [not-iterable]
-   --> tests/unit_tests/controllers/console/app/test_workflow.py:466:12
 ERROR Missing argument `app_model` in function `handler` [missing-argument]
   --> tests/unit_tests/controllers/console/app/test_wraps.py:21:19
 ERROR Unexpected keyword argument `app_id` in function `handler` [unexpected-keyword]
@@ -2215,27 +2199,27 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `AdvancedChatAppGenerateEntity | WorkflowAppGenerateEntity` in function `core.app.apps.common.workflow_response_converter.WorkflowResponseConverter.__init__` [bad-argument-type]
   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:98:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `WorkflowSnapshot` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:425:22
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:427:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:426:27
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:428:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `conversation` with type `ConversationSnapshot` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:427:26
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:429:26
 ERROR Argument `SimpleNamespace` is not assignable to parameter `message` with type `MessageSnapshot` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:428:21
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:430:21
 ERROR Argument `(**kwargs: Unknown) -> None` is not assignable to parameter `draft_var_saver_factory` with type `DraftVariableSaverFactory` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:438:37
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:440:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `core.app.apps.workflow.generate_task_pipeline.WorkflowAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:518:22
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:520:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.workflow.generate_task_pipeline.WorkflowAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:519:27
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:521:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `core.app.apps.workflow.generate_task_pipeline.WorkflowAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:520:18
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:522:18
 ERROR Argument `(**kwargs: Unknown) -> None` is not assignable to parameter `draft_var_saver_factory` with type `DraftVariableSaverFactory` in function `core.app.apps.workflow.generate_task_pipeline.WorkflowAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:522:37
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:524:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState` in function `core.app.apps.common.workflow_response_converter.WorkflowResponseConverter.workflow_pause_to_stream_response` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:612:33
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:614:33
 ERROR Argument `() -> TestHitlServiceApi.test_snapshot_events_include_pause_payload_contract._SessionContext` is not assignable to parameter `session_maker` with type `sessionmaker[Session] | None` in function `services.workflow_event_snapshot_service._build_snapshot_events` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:685:27
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:687:27
 ERROR Argument value `Literal[0]` violates Pydantic `ge` constraint `Literal[1]` for field `limit` [bad-argument-type]
   --> tests/unit_tests/controllers/service_api/app/test_message.py:95:63
 ERROR Argument value `Literal[101]` violates Pydantic `le` constraint `Literal[100]` for field `limit` [bad-argument-type]
@@ -2297,9 +2281,9 @@
 ERROR Argument `list[str] | None` is not assignable to parameter `obj` with type `Sized` in function `len` [bad-argument-type]
    --> tests/unit_tests/controllers/service_api/dataset/test_dataset_segment.py:597:20
 ERROR Object of class `NoneType` has no attribute `name` [missing-attribute]
-   --> tests/unit_tests/controllers/service_api/dataset/test_document.py:237:16
-ERROR Object of class `NoneType` has no attribute `indexing_status` [missing-attribute]
    --> tests/unit_tests/controllers/service_api/dataset/test_document.py:238:16
+ERROR Object of class `NoneType` has no attribute `indexing_status` [missing-attribute]
+   --> tests/unit_tests/controllers/service_api/dataset/test_document.py:239:16
 ERROR Missing argument `app_model` in function `protected_view` [missing-argument]
    --> tests/unit_tests/controllers/service_api/test_wraps.py:156:36
 ERROR `object` is not assignable to attribute `request` with type `Request` [bad-assignment]

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

Pyrefly Type Coverage

Metric Base PR Delta
Type coverage 0.00% 44.46% +44.46%
Strict coverage 0.00% 43.98% +43.98%
Typed symbols 0 22,946 +22,946
Untyped symbols 0 28,976 +28,976
Modules 0 2643 +2,643

@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:XXL This PR changes 1000+ lines, ignoring generated files. labels May 19, 2026
@github-actions github-actions Bot removed the web This relates to changes on the web. label May 19, 2026
@wylswz wylswz changed the title Wyl/cli release feat(cli): add release pipeline May 19, 2026
Comment thread cli/package.json Outdated
@github-actions github-actions Bot added the web This relates to changes on the web. label May 19, 2026
@wylswz wylswz merged commit 31ea69b into feat/cli May 19, 2026
2 checks passed
@wylswz wylswz deleted the wyl/cli-release branch May 19, 2026 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL This PR changes 500-999 lines, ignoring generated files. web This relates to changes on the web.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants