Skip to content

ci(release): 添加 Linux 构建 job + 更新 README 下载链接 - #44

Merged
juice094 merged 1 commit into
mainfrom
release-ci-update
May 14, 2026
Merged

juice094 merged 1 commit into
mainfrom
release-ci-update

Conversation

@juice094

Copy link
Copy Markdown
Owner

变更内容\n\n- CI: Created devbase--linux-x64.tar.gz 新增 job,实现 Windows + Linux 双平台并行构建\n- CI: 上传方式改为 ,避免 Windows/Linux job 竞态创建 release\n- Docs: README 预编译二进制下载链接同步为 v0.20.0 实际资产(.zip / .tar.gz + 解压指引)\n\n## 验证\n\n- [x] Windows 本地 成功(24M)\n- [x] WSL Ubuntu 成功(22M)\n- [x] v0.20.0 Release 双平台资产已手动上传\n- [x]

running 456 tests
test arxiv::tests::test_parse_arxiv_atom_invalid_xml ... ok
test arxiv::tests::test_parse_arxiv_atom_missing_title ... ok
test arxiv::tests::test_parse_arxiv_atom_no_authors ... ok
test arxiv::tests::test_parse_arxiv_atom_success ... ok
test asyncgit::tests::test_async_notification_variants ... ok
test asyncgit::tests::test_async_repo_status_clone ... ok
test asyncgit::tests::test_async_single_job_new ... ok
test asyncgit::tests::test_repo_status_notification_clone ... ok
test asyncgit::tests::test_sync_progress_notification_clone ... ok
test backup::tests::test_backup_filename_contains_timestamp ... ok
test backup::tests::test_backup_filename_format ... ok
test backup::tests::test_clean_old_backups_removes_oldest ... ok
test backup::tests::test_export_sqlite_creates_file ... ok
test config::tests::test_config_custom_values ... ok
test config::tests::test_config_default ... ok
test config::tests::test_config_empty_uses_defaults ... ok
test config::tests::test_config_serialize_roundtrip ... ok
test daemon::tests::test_daemon_new ... ok
test dependency_graph::tests::test_parse_cargo_toml_deps ... ok
test dependency_graph::tests::test_parse_cmake_add_subdirectory_local ... ok
test dependency_graph::tests::test_parse_cmake_fetchcontent_declare ... ok
test dependency_graph::tests::test_parse_cmake_find_package ... ok
test dependency_graph::tests::test_parse_cmake_target_link_libraries ... ok
test dependency_graph::tests::test_parse_go_mod_deps ... ok
test dependency_graph::tests::test_parse_package_json_deps ... ok
test dependency_graph::tests::test_parse_pyproject_toml_deps ... ok
test dependency_graph::tests::test_parse_requirements_txt_deps ... ok
test digest::tests::test_generate_daily_digest_empty ... ok
test digest::tests::test_generate_daily_digest_with_repos ... ok
test digest::tests::test_generate_daily_digest_with_unhealthy_repo ... ok
test discovery_engine::tests::test_discover_dependencies_cargo ... ok
test discovery_engine::tests::test_discover_dependencies_go_mod ... ok
test discovery_engine::tests::test_discover_dependencies_no_manifest ... ok
test discovery_engine::tests::test_discover_dependencies_package_json ... ok
test discovery_engine::tests::test_discover_similar_projects ... ok
test discovery_engine::tests::test_normalize_dep_name ... ok
test health::tests::test_compute_workspace_hash_changes_with_content ... ok
test health::tests::test_compute_workspace_hash_empty_dir ... ok
test health::tests::test_compute_workspace_hash_ignores_dirs ... ok
test health::tests::test_fmt_version_bun ... ok
test health::tests::test_fmt_version_cargo ... ok
test health::tests::test_fmt_version_cmake ... ok
test health::tests::test_fmt_version_docker ... ok
test health::tests::test_fmt_version_go ... ok
test health::tests::test_fmt_version_java ... ok
test health::tests::test_fmt_version_python ... ok
test health::tests::test_fmt_version_rustc ... ok
test health::tests::test_fmt_version_single_word ... ok
test health::tests::test_fmt_version_unknown ... ok
test i18n::en::tests::test_build ... ok
test i18n::tests::test_en_build ... ok
test i18n::tests::test_format_template_basic ... ok
test i18n::tests::test_format_template_extra_args_ignored ... ok
test i18n::tests::test_format_template_multiple ... ok
test i18n::tests::test_format_template_no_placeholder ... ok
test i18n::tests::test_from_language_en ... ok
test i18n::tests::test_log_strings_loaded_repos ... ok
test i18n::tests::test_log_strings_status_fmt ... ok
test i18n::tests::test_zh_build ... ok
test i18n::zh_cn::tests::test_build ... ok
test knowledge_engine::index::tests::test_prepare_repos_empty_path_returns_all ... ok
test knowledge_engine::index::tests::test_prepare_repos_matching_path_returns_one ... ok
test knowledge_engine::index::tests::test_prepare_repos_nonexistent_path_errors ... ok
test knowledge_engine::index::tests::test_prepare_repos_unregistered_existing_path_auto_registers ... ok
test knowledge_engine::index::tests::test_save_and_get_repo_index_state ... ok
test knowledge_engine::index_state::tests::test_get_repo_index_state_fresh ... ok
test knowledge_engine::index_state::tests::test_get_repo_index_state_missing ... ok
test knowledge_engine::index_state::tests::test_get_repo_index_state_stale ... ok
test knowledge_engine::index_state::tests::test_get_repo_index_state_unknown_not_git ... ok
test knowledge_engine::index_state::tests::test_index_state_is_fresh_and_changed_count ... ok
test knowledge_engine::index_state::tests::test_index_state_variants_serialize ... ok
test knowledge_engine::readme::tests::test_build_llm_prompt_contains_json_instruction ... ok
test knowledge_engine::readme::tests::test_extract_module_structure_for_devbase ... ok
test knowledge_engine::readme::tests::test_extract_module_structure_non_rust ... ok
test knowledge_engine::readme::tests::test_extract_readme_summary_basic ... ok
test knowledge_engine::readme::tests::test_extract_readme_summary_truncates_at_sentence ... ok
test knowledge_engine::readme::tests::test_extract_readme_summary_with_badges ... ok
test knowledge_engine::readme::tests::test_fallback_summary_cargo_toml ... ok
test knowledge_engine::readme::tests::test_module_info_clone ... ok
test knowledge_engine::readme::tests::test_parse_llm_json_markdown_fenced ... ok
test knowledge_engine::readme::tests::test_parse_llm_json_valid ... ok
test knowledge_engine::readme::tests::test_real_gitui_repo ... ignored, integration test on real gitui repo
test knowledge_engine::readme::tests::test_real_syncthing_repo ... ignored, integration test on real syncthing repo
test knowledge_engine::readme::tests::test_try_llm_summary_disabled_returns_none ... ok
test mcp::tests::test_destructive_gate_disabled_by_default ... ok
test mcp::tests::test_destructive_gate_enabled ... ok
test mcp::tests::test_format_mcp_message ... ok
test mcp::tests::test_initialize ... ok
test mcp::tests::test_nl_filter_repos_empty_query_returns_empty ... ok
test mcp::tests::test_nl_filter_repos_fallback_finds_by_language ... ok
test mcp::tests::test_nl_filter_repos_tantivy_finds_devbase ... ok
test mcp::tests::test_parse_tool_tiers ... ok
test mcp::tests::test_parse_tool_tiers_empty ... ok
test mcp::tests::test_stdio_content_length_format ... ok
test mcp::tests::test_tools_call_devkit_arxiv_fetch ... ok
test mcp::tests::test_tools_call_devkit_health ... ok
test mcp::tests::test_tools_call_devkit_project_context ... ok
test mcp::tests::test_tools_call_devkit_query ... ok
test mcp::tests::test_tools_call_devkit_skill_discover ... ok
test mcp::tests::test_tools_call_devkit_skill_list ... ok
test mcp::tests::test_tools_call_devkit_skill_run ... ignored, requires knowledge-report skill installed and may run external Python process
test mcp::tests::test_tools_call_devkit_skill_search ... ok
test mcp::tests::test_tools_call_unknown_tool ... ok
test mcp::tests::test_tools_list ... ok
test mcp::tests::test_unknown_method ... ok
test mcp::tools::brief::tests::test_name ... ok
test mcp::tools::context::tests::test_collect_hot_files_basic ... ok
test mcp::tools::context::tests::test_collect_hot_files_empty_repo ... ok
test mcp::tools::context::tests::test_collect_hot_files_no_git ... ok
test mcp::tools::context::tests::test_collect_recent_commits_basic ... ok
test mcp::tools::context::tests::test_collect_recent_commits_empty_repo ... ok
test mcp::tools::context::tests::test_collect_recent_commits_limit ... ok
test mcp::tools::context::tests::test_name ... ok
test mcp::tools::context::tests::test_schema_is_object ... ok
test mcp::tools::evaluate::tests::test_evaluate_tool_name ... ok
test mcp::tools::evaluate::tests::test_truncate_output ... ok
test mcp::tools::impact::tests::test_name ... ok
test mcp::tools::known_limit::tests::test_name ... ok
test mcp::tools::known_limit::tests::test_schema_is_object ... ok
test mcp::tools::oplog::tests::test_name ... ok
test mcp::tools::oplog::tests::test_schema_is_object ... ok
test mcp::tools::query::tests::test_name ... ok
test mcp::tools::query::tests::test_schema_is_object ... ok
test mcp::tools::relations::tests::test_relation_query_bidirectional ... ok
test mcp::tools::relations::tests::test_relation_store_and_query_roundtrip ... ok
test mcp::tools::relations::tests::test_relation_store_missing_required_fields ... ok
test mcp::tools::repo::tests::test_extract_tag_from_query ... ok
test mcp::tools::repo::tests::test_parse_github_repo_https ... ok
test mcp::tools::repo::tests::test_parse_github_repo_invalid ... ok
test mcp::tools::repo::tests::test_parse_github_repo_ssh ... ok
test mcp::tools::repo::tests::test_parse_stars_condition ... ok
test mcp::tools::search::tests::test_parse_f32_array ... ok
test mcp::tools::session::tests::test_schemas_are_objects ... ok
test mcp::tools::session::tests::test_session_tool_names ... ok
test mcp::tools::skill::tests::test_name ... ok
test mcp::tools::skill::tests::test_schema_is_object ... ok
test mcp::tools::tests::test_tool_modules_compile ... ok
test mcp::tools::vault::tests::test_resolve_vault_path_absolute_blocked ... ok
test mcp::tools::vault::tests::test_resolve_vault_path_dotdot_within_bounds ... ok
test mcp::tools::vault::tests::test_resolve_vault_path_empty ... ok
test mcp::tools::vault::tests::test_resolve_vault_path_nested ... ok
test mcp::tools::vault::tests::test_resolve_vault_path_normal ... ok
test mcp::tools::vault::tests::test_resolve_vault_path_performance ... ok
test mcp::tools::vault::tests::test_resolve_vault_path_traversal_blocked ... ok
test mcp::tools::vault::tests::test_resolve_vault_path_with_dot ... ok
test mcp::tools::vault::tests::test_vault_daily_appends_to_existing ... ok
test mcp::tools::vault::tests::test_vault_daily_creates_file ... ok
test mcp::tools::vault::tests::test_vault_graph_basic ... ok
test mcp::tools::vault::tests::test_vault_graph_bfs_traversal ... ok
test mcp::tools::vault::tests::test_vault_graph_filtered_by_repo ... ok
test mcp::tools::vault::tests::test_vault_history_tool ... ok
test mcp::tools::workflow::tests::test_workflow_list_empty_registry ... ok
test mcp::tools::workflow::tests::test_workflow_run_not_found ... ok
test mcp::tools::workflow::tests::test_workflow_status_invalid_id ... ok
test oplog_analytics::tests::test_generate_report_empty_db ... ok
test oplog_analytics::tests::test_generate_report_with_data ... ok
test query::tests::test_eval_behind_match ... ok
test query::tests::test_eval_behind_no_match ... ok
test query::tests::test_eval_keyword_match ... ok
test query::tests::test_eval_keyword_no_match ... ok
test query::tests::test_eval_note_match ... ok
test query::tests::test_eval_note_no_match ... ok
test query::tests::test_eval_stale_never_synced ... ok
test query::tests::test_eval_tag_match ... ok
test query::tests::test_eval_tag_no_match ... ok
test query::tests::test_parse_cmp_expr_empty ... ok
test query::tests::test_parse_cmp_expr_eq_implicit ... ok
test query::tests::test_parse_cmp_expr_gt ... ok
test query::tests::test_parse_query_behind ... ok
test query::tests::test_parse_query_keyword ... ok
test query::tests::test_parse_query_lang ... ok
test query::tests::test_parse_query_multiple ... ok
test query::tests::test_parse_query_note ... ok
test query::tests::test_parse_query_stale ... ok
test query::tests::test_parse_query_tag ... ok
test registry::agent_context::tests::test_cascade_delete ... ok
test registry::agent_context::tests::test_context_crud ... ok
test registry::agent_context::tests::test_entity_links ... ok
test registry::agent_context::tests::test_get_context_with_memories ... ok
test registry::agent_context::tests::test_memory_crud ... ok
test registry::agent_context::tests::test_missing_context ... ok
test registry::code_symbols::tests::test_query_code_symbols_by_file ... ok
test registry::code_symbols::tests::test_query_code_symbols_by_name ... ok
test registry::code_symbols::tests::test_query_code_symbols_by_symbol_type ... ok
test registry::code_symbols::tests::test_query_code_symbols_limit ... ok
test registry::code_symbols::tests::test_query_code_symbols_no_filter ... ok
test registry::dead_code::tests::test_query_dead_code_basic ... ok
test registry::dead_code::tests::test_query_dead_code_excludes_called ... ok
test registry::dead_code::tests::test_query_dead_code_excludes_main ... ok
test registry::dead_code::tests::test_query_dead_code_excludes_pub_when_not_include_pub ... ok
test registry::dead_code::tests::test_query_dead_code_excludes_test_attribute ... ok
test registry::dead_code::tests::test_query_dead_code_excludes_test_prefix ... ok
test registry::dead_code::tests::test_query_dead_code_excludes_tests_rs ... ok
test registry::knowledge::tests::test_cross_repo_search_symbols ... ok
test registry::knowledge::tests::test_find_papers_by_venue ... ok
test registry::knowledge::tests::test_find_related_symbols ... ok
test registry::knowledge::tests::test_module_crud ... ok
test registry::knowledge::tests::test_paper_roundtrip ... ok
test registry::knowledge::tests::test_save_embeddings ... ok
test registry::knowledge::tests::test_save_summary_smoke ... ok
test registry::knowledge::tests::test_semantic_search_symbols ... ok
test registry::knowledge::tests::test_symbol_read_tracking ... ok
test registry::knowledge_meta::tests::test_knowledge_meta_crud ... ok
test registry::known_limits::tests::test_known_limit_crud ... ok
test registry::known_limits::tests::test_list_known_limits_by_category ... ok
test registry::links::tests::test_get_linked_repos ... ok
test registry::links::tests::test_get_linked_repos_empty ... ok
test registry::links::tests::test_get_linked_repos_full ... ok
test registry::links::tests::test_get_linked_vault_notes ... ok
test registry::links::tests::test_get_linked_vaults ... ok
test registry::migrate::tests::test_db_path_format ... ok
test registry::migrate::tests::test_workspace_dir_format ... ok
test registry::repo::tests::test_list_repos_empty ... ok
test registry::repo::tests::test_list_repos_need_index ... ok
test registry::repo::tests::test_list_repos_stale_health ... ok
test registry::repo::tests::test_list_workspaces_by_tier ... ok
test registry::repo::tests::test_save_and_list_repo ... ok
test registry::repo::tests::test_save_repo_updates_existing ... ok
test registry::repo::tests::test_save_repo_with_remotes ... ok
test registry::repo::tests::test_save_repo_with_stars ... ok
test registry::repo::tests::test_save_repo_with_tags ... ok
test registry::repo::tests::test_update_repo_language ... ok
test registry::repo::tests::test_update_repo_last_synced_at ... ok
test registry::repo::tests::test_update_repo_tier ... ok
test registry::repo::tests::test_update_repo_workspace_type ... ok
test registry::repos_toml::tests::test_apply_overrides ... ok
test registry::repos_toml::tests::test_parse_repos_toml ... ok
test registry::test_helpers::tests::test_agent_contexts_table_exists ... ok
test registry::test_helpers::tests::test_agent_memories_table_exists ... ok
test registry::test_helpers::tests::test_in_memory_schema_version ... ok
test registry::test_helpers::tests::test_knowledge_meta_table_exists ... ok
test registry::test_helpers::tests::test_known_limits_table_exists ... ok
test registry::test_helpers::tests::test_workflow_executions_table_exists ... ok
test registry::tests::test_dead_code_excludes_pub_variants_and_main ... ok
test registry::tests::test_dead_code_include_pub ... ok
test registry::tests::test_oplog_event_type_roundtrip ... ok
test registry::tests::test_oplog_migration_compat ... ok
test registry::tests::test_oplog_save_and_list ... ok
test registry::tests::test_primary_remote_fallback_to_first ... ok
test registry::tests::test_primary_remote_none ... ok
test registry::tests::test_primary_remote_prefers_origin ... ok
test registry::tests::test_stars_cache_miss ... ok
test registry::tests::test_stars_cache_roundtrip ... ok
test registry::tests::test_stars_cache_update ... ok
test registry::vault::tests::test_delete_vault_note ... ok
test registry::vault::tests::test_list_vault_notes_empty ... ok
test registry::vault::tests::test_save_and_list_vault_note ... ok
test scan::tests::test_detect_language_cpp ... ok
test scan::tests::test_detect_language_go ... ok
test scan::tests::test_detect_language_node ... ok
test scan::tests::test_detect_language_none ... ok
test scan::tests::test_detect_language_python_pyproject ... ok
test scan::tests::test_detect_language_python_requirements ... ok
test scan::tests::test_detect_language_rust ... ok
test scan::tests::test_discover_repos_devbase_ignore ... ok
test scan::tests::test_discover_repos_excludes_paths ... ok
test scan::tests::test_discover_repos_excludes_patterns ... ok
test scan::tests::test_discover_repos_finds_non_git_workspaces ... ok
test scan::tests::test_inspect_non_git_workspace_generic ... ok
test scan::tests::test_inspect_non_git_workspace_openclaw ... ok
test scan::tests::test_is_excluded_path_sync_context ... ok
test scan::tests::test_is_nested_submodule_false ... ok
test scan::tests::test_is_nested_submodule_true ... ok
test scan::tests::test_normal_tags ... ok
test scan::tests::test_parse_github_owner_repo_https ... ok
test scan::tests::test_parse_github_owner_repo_invalid ... ok
test scan::tests::test_parse_github_owner_repo_non_github ... ok
test scan::tests::test_parse_github_owner_repo_ssh ... ok
test scan::tests::test_zip_snapshot_tags_main ... ok
test scan::tests::test_zip_snapshot_tags_master ... ok
test search::hybrid::tests::test_hybrid_search_fallback_to_keyword ... ok
test search::hybrid::tests::test_hybrid_search_symbols_with_metrics ... ok
test search::hybrid::tests::test_keyword_search_basic ... ok
test search::hybrid::tests::test_keyword_search_latency_regression_10k ... ignored, performance regression: run with --ignored to execute
test search::hybrid::tests::test_keyword_search_latency_regression_1k ... ignored, performance regression: run with --ignored to execute
test search::hybrid::tests::test_rrf_merge_empty_lists ... ok
test search::hybrid::tests::test_rrf_merge_single_list_passthrough ... ok
test search::hybrid::tests::test_rrf_merge_two_lists ... ok
test search::symbol_index::tests::test_add_and_search_symbol ... ok
test search::symbol_index::tests::test_delete_repo_symbols ... ok
test search::symbol_index::tests::test_search_signature_match ... ok
test search::tests::test_add_and_search_repo ... ok
test search::tests::test_add_vault_doc ... ok
test search::tests::test_build_schema ... ok
test search::tests::test_delete_repo_doc ... ok
test search::tests::test_index_is_empty ... ok
test search::tests::test_list_indexed_repo_ids ... ok
test search::tests::test_search_repos ... ok
test search::tests::test_search_vault ... ok
test search::tests::test_sync_index_to_db_removes_orphans ... ok
test semantic_index::git_diff::tests::test_current_head_hash_after_commit ... ok
test semantic_index::git_diff::tests::test_current_head_hash_empty_repo ... ok
test semantic_index::git_diff::tests::test_diff_since_deleted_file ... ok
test semantic_index::git_diff::tests::test_diff_since_no_changes ... ok
test semantic_index::git_diff::tests::test_diff_since_none_first_index ... ok
test semantic_index::git_diff::tests::test_diff_since_with_last_hash ... ok
test semantic_index::git_diff::tests::test_diff_since_workdir_modification ... ok
test semantic_index::git_diff::tests::test_diff_since_workdir_untracked ... ok
test semantic_index::persist::tests::test_delete_symbols_for_files ... ok
test semantic_index::persist::tests::test_save_calls_incremental ... ok
test semantic_index::persist::tests::test_save_calls_replaces_old ... ok
test semantic_index::persist::tests::test_save_symbols_incremental ... ok
test semantic_index::persist::tests::test_save_symbols_replaces_old ... ok
test semantic_index::symbol::tests::test_extract_rust_attributes ... ok
test semantic_index::tests::test_extract_go_const ... ok
test semantic_index::tests::test_extract_go_function ... ok
test semantic_index::tests::test_extract_go_method ... ok
test semantic_index::tests::test_extract_go_struct_and_interface ... ok
test semantic_index::tests::test_extract_js_function ... ok
test semantic_index::tests::test_extract_multiple_rust ... ok
test semantic_index::tests::test_extract_python_class ... ok
test semantic_index::tests::test_extract_python_function ... ok
test semantic_index::tests::test_extract_python_multiple ... ok
test semantic_index::tests::test_extract_rust_function ... ok
test semantic_index::tests::test_extract_rust_struct ... ok
test semantic_index::tests::test_extract_ts_class_and_interface ... ok
test semantic_index::tests::test_extract_ts_enum ... ok
test semantic_index::tests::test_index_repo_full ... ok
test semantic_index::tests::test_save_calls ... ok
test semantic_index::tests::test_save_symbols ... ok
test skill_runtime::clarity_sync::tests::test_conflict_resolution_skips_older_devbase_skill ... ok
test skill_runtime::clarity_sync::tests::test_conflict_resolution_updates_when_devbase_newer ... ok
test skill_runtime::clarity_sync::tests::test_sync_skills_to_clarity ... ok
test skill_runtime::dependency::tests::test_detect_cycle_direct ... ok
test skill_runtime::dependency::tests::test_detect_cycle_none ... ok
test skill_runtime::dependency::tests::test_resolve_cycle_fails ... ok
test skill_runtime::dependency::tests::test_resolve_topological_order ... ok
test skill_runtime::dependency::tests::test_validate_dependencies_all_satisfied ... ok
test skill_runtime::dependency::tests::test_validate_dependencies_missing ... ok
test skill_runtime::discover::tests::test_generate_entry_script_node ... ok
test skill_runtime::discover::tests::test_generate_entry_script_python ... ok
test skill_runtime::discover::tests::test_generate_entry_script_rust ... ok
test skill_runtime::discover::tests::test_generate_skill_md_structure ... ok
test skill_runtime::executor::tests::test_external_embedding_endpoint_error_response ... ok
test skill_runtime::executor::tests::test_external_embedding_endpoint_ollama_parsing ... ok
test skill_runtime::executor::tests::test_hard_veto_guard_empty_registry ... ok
test skill_runtime::executor::tests::test_hard_veto_guard_with_unresolved_vetoes ... ok
test skill_runtime::executor::tests::test_resolve_interpreter_binary ... ok
test skill_runtime::executor::tests::test_resolve_interpreter_powershell ... ok
test skill_runtime::executor::tests::test_resolve_interpreter_python ... ok
test skill_runtime::executor::tests::test_resolve_interpreter_shell ... ok
test skill_runtime::executor::tests::test_run_skill_not_found ... ok
test skill_runtime::executor::tests::test_run_skill_success ... ok
test skill_runtime::publish::tests::test_get_default_remote_fallback ... ok
test skill_runtime::publish::tests::test_get_default_remote_origin ... ok
test skill_runtime::publish::tests::test_push_tag_no_remote ... ok
test skill_runtime::publish::tests::test_push_tag_success_to_bare_remote ... ok
test skill_runtime::registry::tests::test_execution_tracking ... ok
test skill_runtime::registry::tests::test_install_and_get_skill ... ok
test skill_runtime::registry::tests::test_list_skills_by_type ... ok
test skill_runtime::registry::tests::test_search_skills_text ... ok
test skill_runtime::registry::tests::test_uninstall_skill ... ok
test skill_runtime::scoring::tests::test_calculate_scores ... ok
test skill_runtime::scoring::tests::test_recalculate_all ... ok
test skill_runtime::scoring::tests::test_recommend_skills ... ok
test skill_sync::tests::test_convert_to_skill ... ok
test skill_sync::tests::test_extract_description_long ... ok
test skill_sync::tests::test_extract_description_short ... ok
test skill_sync::tests::test_extract_description_skips_heading ... ok
test storage::tests::test_app_context_with_temp_storage ... ok
test storage::tests::test_repair_tantivy_consistency_detects_orphan ... ok
test sync::orchestrator::tests::test_sync_orchestrator_new ... ok
test sync::policy::tests::test_classify_sync_error ... ok
test sync::policy::tests::test_recommend_sync_action ... ok
test sync::policy::tests::test_sync_policy_capabilities ... ok
test sync::policy::tests::test_sync_policy_from_tags ... ok
test sync::tasks::tests::test_map_action_known ... ok
test sync::tasks::tests::test_map_action_unknown ... ok
test sync::tasks::tests::test_write_syncdone_marker ... ok
test sync::tests::test_assess_safety_blocked_dirty ... ok
test sync::tests::test_assess_safety_blocked_diverged_conservative ... ok
test sync::tests::test_assess_safety_diverged_rebase_allowed ... ok
test sync::tests::test_assess_safety_no_upstream ... ok
test sync::tests::test_assess_safety_safe_ff ... ok
test sync::tests::test_assess_safety_up_to_date ... ok
test sync::tests::test_collect_tasks_default_mode_excludes_untagged ... ok
test sync::tests::test_collect_tasks_default_mode_includes_known_tags ... ok
test sync::tests::test_collect_tasks_explicit_filter_includes_untagged ... ok
test sync::tests::test_map_action ... ok
test sync::tests::test_perform_merge_fast_forward ... ok
test sync::tests::test_perform_merge_up_to_date ... ok
test sync::tests::test_sync_repo_skip_no_syncdone ... ok
test sync::tests::test_write_syncdone_marker ... ok
test tui::event::tests::test_tui_action_variants ... ok
test tui::layout::tests::test_layout_centered ... ok
test tui::layout::tests::test_layout_compact ... ok
test tui::layout::tests::test_layout_inner ... ok
test tui::layout::tests::test_layout_standard ... ok
test tui::layout::tests::test_layout_wide ... ok
test tui::render::detail::tests::test_overview_status_desc ... ok
test tui::render::detail::tests::test_overview_status_icon ... ok
test tui::render::detail::tests::test_sync_policy_color ... ok
test tui::render::help::tests::test_help_section_empty ... ok
test tui::render::help::tests::test_help_section_with_bindings ... ok
test tui::render::list::tests::test_repo_status_fg ... ok
test tui::render::list::tests::test_repo_status_icon ... ok
test tui::render::logs::tests::test_format_log_line_plain ... ok
test tui::render::logs::tests::test_format_log_line_with_timestamp ... ok
test tui::render::popups::tests::test_search_results_title_empty ... ok
test tui::render::popups::tests::test_search_results_title_with_results ... ok
test tui::render::tests::test_read_repo_summary_found ... ok
test tui::render::tests::test_read_repo_summary_missing ... ok
test tui::render::tests::test_read_syncdone_info_missing ... ok
test tui::render::tests::test_read_syncdone_info_valid ... ok
test tui::state::tests::test_run_nlp_selected_skill_empty_results ... ok
test tui::tests::test_detail_tab_label ... ok
test tui::tests::test_main_view_toggle ... ok
test tui::tests::test_search_mode_label ... ok
test tui::tests::test_sort_mode_toggle ... ok
test tui::theme::tests::test_styles_from_dark_theme ... ok
test tui::theme::tests::test_theme_dark_colors ... ok
test tui::theme::tests::test_theme_default_is_dark ... ok
test tui::theme::tests::test_theme_light_colors ... ok
test vault::backlinks::tests::test_backlink_index_basic ... ok
test vault::fs_io::tests::test_read_note_body_with_frontmatter ... ok
test vault::fs_io::tests::test_read_note_body_without_frontmatter ... ok
test vault::fs_io::tests::test_read_note_content ... ok
test vault::fs_io::tests::test_read_note_content_missing ... ok
test vault::history::tests::test_note_history_basic ... ok
test vault::history::tests::test_note_history_not_git ... ok
test vault::indexer::tests::test_index_vault_note_core_add ... ok
test vault::indexer::tests::test_index_vault_note_core_update ... ok
test vault::indexer::tests::test_reindex_vault_core_empty ... ok
test vault::indexer::tests::test_reindex_vault_core_with_notes ... ok
test vault::scanner::tests::test_scan_vault_basic ... ok
test vault::scanner::tests::test_scan_vault_empty_dir ... ok
test vault::scanner::tests::test_scan_vault_missing_dir ... ok
test watch::tests::test_folder_scheduler_degrades_to_scan ... ok
test watch::tests::test_folder_scheduler_first_run ... ok
test watch::tests::test_folder_scheduler_incremental_no_change ... ok
test watch::tests::test_watch_aggregator_dedup ... ok
test workflow::executor::tests::test_condition_step_false ... ok
test workflow::executor::tests::test_condition_step_true ... ok
test workflow::executor::tests::test_loop_body_continue ... ok
test workflow::executor::tests::test_loop_body_fallback ... ok
test workflow::executor::tests::test_loop_empty_collection ... ok
test workflow::executor::tests::test_loop_failure ... ok
test workflow::executor::tests::test_loop_multi_iteration ... ok
test workflow::executor::tests::test_loop_single_iteration ... ok
test workflow::executor::tests::test_parallel_step ... ok
test workflow::executor::tests::test_subworkflow_step ... ok
test workflow::parser::tests::test_parse_basic_workflow ... ok
test workflow::parser::tests::test_parse_invalid_id ... ok
test workflow::scheduler::tests::test_linear_schedule ... ok
test workflow::scheduler::tests::test_parallel_schedule ... ok
test workflow::scheduler::tests::test_transitive_deps ... ok
test workflow::scheduler::tests::test_transitive_deps_leaf ... ok
test workflow::state::tests::test_create_and_update_execution ... ok
test workflow::state::tests::test_end_to_end_workflow_lifecycle ... ok
test workflow::state::tests::test_save_and_get_workflow ... ok
test workflow::validator::tests::test_cycle_detected ... ok
test workflow::validator::tests::test_loop_body_duplicate_global_id ... ok
test workflow::validator::tests::test_loop_body_missing_dep ... ok
test workflow::validator::tests::test_loop_body_valid ... ok
test workflow::validator::tests::test_missing_dep ... ok
test workflow::validator::tests::test_valid_dag ... ok

test result: ok. 451 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 26.46s 451 passed\n- [x] 零警告\n- [x] 通过

@juice094
juice094 merged commit 94a9a9b into main May 14, 2026
6 checks passed
@juice094
juice094 deleted the release-ci-update branch May 14, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant