Skip to content

v2.4 - #2589

Merged
milesj merged 21 commits into
masterfrom
develop-2.4
Jul 5, 2026
Merged

v2.4#2589
milesj merged 21 commits into
masterfrom
develop-2.4

Conversation

@milesj

@milesj milesj commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

milesj and others added 8 commits June 26, 2026 10:08
* Update vite.

* Migrate.

* Update fmt.

* Start on lint.

* Update test.

* Update globals.

* Update typescript.

* Add pack.

* Fix types.

* Add lint.

* Remove files.

* Update yarn.

* Polish.

* Polish.

* Better config.

* Update paths.

* Polish.

* Update CI.

* Fixes.

* Update agents.

* Update website.

* Fix visualizer.

* Fixes.

* Fix script.

* Fix ignores.
* Copy package.

* Update build.

* Format.

* Fix lints.

* Update paths.
* internal: Improve code quality of the moon_process crate.

- Fix command output being lost entirely when it contains invalid
  UTF-8 (now lossy converted).
- Fix cache key collisions in `Command::get_cache_key` by
  length-prefixing hashed fields, sorting env vars, and including
  the env variant discriminant.
- Fix command line being logged after streamed output in
  `exec_stream_and_capture_output`.
- Remove `unsafe` from `get_bin_name`.
- Return captured lines through join handles instead of
  `Arc<RwLock<Vec>>`, and dedupe the stream reader loops.
- Remove dead code: `output_stream` module and commented-out
  exec method.
- Replace magic signal/errno numbers with libc constants.
- Move the arg quoting test harness from `src/main.rs` to
  `examples/args.rs` so it no longer builds as a default target.
- Clear the process registry after force-kill tasks complete,
  not before.
- Declare all used tokio features; hoist `libc` to workspace deps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Hoist windows-sys to workspace dependencies.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Add byte-level exec_stream_and_capture_output_bytes variant.

Tees raw chunks instead of lines: partial lines and carriage
return redraws render in real time, non-UTF-8 output is preserved,
and capture is byte-exact with redraw frames collapsed for clean
cache replay. Prefixes are inserted statefully at line starts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Add test coverage for the moon_process crate.

Covers the Command builder API, cache key stability and collision
resistance, command line formatting, Output status/error conversion,
lossy output strings, SharedChild signal handling, the process
registry lifecycle, and all four exec methods (capture, continuous,
stream, stream+capture) against real child processes. Process
spawning tests are unix-gated.

Also derives Debug for Output and ChildExit.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Fix relative working dir test on Windows.

Build the working dir with join so it uses the native path
separator; a forward slash literal is preserved as-is on Windows
and never matches the expected backslash output.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* Polish.

* Fixes.

* Fix diff.

* Add warnings.

* Polish.

* Update hooks.

* Fix tests.

* Fix tests.
* Update proto.

* Update starbase.

* Fixes.

* Update vp.

* Update lock.

* Polish.

* Fixes.
…remote interop. (#2582)

* Use bytes.

* Polish.

* Move blob to crate.

* Add manifest.

* Rename compat.

* Flatten manifest.

* Start on storage.

* Update starbase.

* Start on backend.

* Impl store flow.

* Start on hydrate.

* Move store to backend.

* Move retrieve to backend.

* Polish.

* Rework CAS.

* Update tests.

* Polish.

* Add chunking.

* Add tests.
* Add crate.

* Start on http.

* Add cache context.

* Remove old code.

* Move more code over.

* Polish.

* Fix tests.

* Tier 2.

* Tier 3.

* Tier 4.

* Polish.

* Fix format.

* Polish.

* Add tests.
this.projects = projects.map((project) => new ProjectItem(context, this, project));

let stack: StackType = 'unknown';
let layer: LayerType = 'unknown';
@codspeed-hq

codspeed-hq Bot commented Jun 26, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 31.69%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

❌ 7 regressed benchmarks
✅ 16 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime track_tasks_sync[1000] 5.2 s 7.8 s -32.97%
WallTime track_tasks_sync[100] 521.6 ms 772.9 ms -32.52%
WallTime hash_files[1000] 8.5 ms 12.6 ms -32.3%
WallTime track_projects_sync[1000] 387.2 ms 567.2 ms -31.74%
WallTime track_tasks_sync[10] 79.9 ms 116.3 ms -31.28%
WallTime track_projects_sync[100] 37.3 ms 54 ms -30.82%
WallTime track_projects_async[100] 37.9 ms 54.2 ms -30.16%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing develop-2.4 (1574ee1) with master (221df44)

Open in CodSpeed

…2590)

* Rmove action.

* Update archiver.

* Update hydrater.

* Use an enum.

* Rename to blob input.

* Add blob output.

* Update tests.

* Switch to absolute path.

* Fix hydration.

* Fixes.

* Fix streaming.

* Add timeout.

* Polish.

* Add GC.

* Remove old remote.

* Polish.

* Fix batching.

* Update changelog.

* Polish.

* Fixes.
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown

Run report for 1574ee1c (ubuntu-latest)

Total time: 1m 43s | Comparison time: 1m 57s | Estimated savings: 13.8s (11.7% faster)

Action Time Status Info
🟩 SyncWorkspace 219.5ms Passed
🟩 SyncProject(types) 5.3ms Passed
🟩 SyncProject(visualizer) 6.2ms Passed
🟩 SyncProject(report) 8.2ms Passed
🟩 SyncProject(website) 10.6ms Passed
🟩 SyncProject(vscode-extension) 6.2ms Passed
🟩 SetupProto(0.58.2) 8.7s Passed
🟩 SetupToolchain(node:22.18.0) 5.8s Passed
🟩 SetupToolchain(yarn:4.16.0) 607.1ms Passed
⬛️ SetupToolchain(javascript) 0.2ms Skipped
🟩 SetupEnvironment(javascript) 3.3ms Passed
⬛️ InstallDependencies(javascript) 0.8ms Skipped
🟩 RunTask(types:test) 1.4s Passed
🟩 RunTask(types:typecheck) 1.4s Passed
🟩 RunTask(types:build) 1.8s Passed
🟩 RunTask(visualizer:typecheck) 3.2s Passed
🟩 RunTask(visualizer:test) 3.3s Passed
🟩 RunTask(website:test) 3.6s Passed
🟩 RunTask(report:test) 1.4s Passed
🟩 RunTask(report:typecheck) 1.9s Passed
And 7 more...
Expanded report
Action Time Status Info
🟩 RunTask(report:build) 3.5s Passed
🟩 RunTask(vscode-extension:typecheck) 3.4s Passed
🟩 RunTask(visualizer:build) 5.2s Passed
🟩 RunTask(vscode-extension:test) 1.9s Passed
🟩 RunTask(vscode-extension:build) 1.7s Passed
🟩 RunTask(website:typecheck) 10.3s Passed
🟩 RunTask(website:build) 1m 27s Passed
Environment

OS: Linux
Matrix:

os = ubuntu-latest
Changed files
.agents/skills/doc-coauthoring/SKILL.md
.dockerignore
.github/copilot-instructions.md
.github/workflows/benchmark.yml
.github/workflows/docs.yml
.github/workflows/moon.yml
.github/workflows/pr.yml
.github/workflows/publish-npm.yml
.github/workflows/release.yml
.github/workflows/rust.yml
.gitignore
.moon/tasks/node.yml
.moon/toolchains.yml
.moon/workspace.yml
.prettierignore
.prototools
.vscode/extensions.json
.vscode/launch.json
.vscode/mcp.json
.vscode/settings.json
.yarn/releases/yarn-4.12.0.cjs
.yarn/releases/yarn-4.16.0.cjs
.yarn/versions/9c6c14e9.yml
.yarnrc.yml
AGENTS.md
CHANGELOG.md
CLAUDE.md
CONTRIBUTING.md
Cargo.lock
Cargo.toml
README.md
babel.config.js
crates/action-context/src/lib.rs
crates/action-graph/Cargo.toml
crates/action-graph/src/action_graph_builder.rs
crates/action-graph/tests/__fixtures__/serial-cycle/app-d/moon.yml
crates/action-graph/tests/__fixtures__/serial-cycle/lib-a/moon.yml
crates/action-graph/tests/__fixtures__/serial-cycle/lib-b/moon.yml
crates/action-graph/tests/__fixtures__/serial-cycle/lib-c/moon.yml
crates/action-graph/tests/utils.rs
crates/action-pipeline/Cargo.toml
crates/action-pipeline/src/action_pipeline.rs
crates/action-pipeline/src/action_runner.rs
crates/action-pipeline/src/job.rs
crates/action-pipeline/src/job_dispatcher.rs
crates/action-pipeline/src/subscribers/cleanup_subscriber.rs
crates/action-pipeline/src/subscribers/mod.rs
crates/action-pipeline/src/subscribers/remote_subscriber.rs
crates/action-pipeline/tests/action_pipeline_test.rs
crates/actions/Cargo.toml
crates/actions/src/actions/setup_toolchain.rs
crates/actions/src/actions/sync_workspace.rs
crates/actions/tests/commands_test.rs
crates/actions/tests/sync_project_test.rs
crates/actions/tests/sync_workspace_test.rs
crates/actions/tests/utils_test.rs
crates/affected/Cargo.toml
crates/affected/benches/affected_tracker.rs
crates/affected/tests/affected_tracker_async_test.rs
crates/affected/tests/affected_tracker_test.rs
crates/app/Cargo.toml
crates/app/src/app.rs
crates/app/src/app_options.rs
crates/app/src/commands/action_graph.rs
crates/app/src/commands/bin.rs
crates/app/src/commands/check.rs
crates/app/src/commands/ci.rs
crates/app/src/commands/clean.rs
crates/app/src/commands/completions.rs
crates/app/src/commands/daemon/logs.rs
crates/app/src/commands/daemon/restart.rs
crates/app/src/commands/daemon/server.rs
crates/app/src/commands/daemon/start.rs
crates/app/src/commands/daemon/status.rs
crates/app/src/commands/daemon/stop.rs
crates/app/src/commands/debug/config.rs
crates/app/src/commands/debug/vcs.rs
crates/app/src/commands/docker/file.rs
crates/app/src/commands/docker/prune.rs
crates/app/src/commands/docker/scaffold.rs
crates/app/src/commands/docker/setup.rs
crates/app/src/commands/exec.rs
crates/app/src/commands/ext.rs
crates/app/src/commands/extension/add.rs
crates/app/src/commands/extension/download.rs
crates/app/src/commands/extension/info.rs
crates/app/src/commands/generate.rs
crates/app/src/commands/hash.rs
crates/app/src/commands/init.rs
crates/app/src/commands/mcp.rs
crates/app/src/commands/migrate/v2.rs
crates/app/src/commands/project.rs
crates/app/src/commands/project_graph.rs
crates/app/src/commands/projects.rs
crates/app/src/commands/query/affected.rs
crates/app/src/commands/query/changed_files.rs
crates/app/src/commands/query/projects.rs
crates/app/src/commands/query/tasks.rs
crates/app/src/commands/run.rs
crates/app/src/commands/setup.rs
crates/app/src/commands/sync.rs
crates/app/src/commands/syncs/codeowners.rs
crates/app/src/commands/syncs/config_schemas.rs
crates/app/src/commands/syncs/projects.rs
crates/app/src/commands/syncs/vcs_hooks.rs
crates/app/src/commands/task.rs
crates/app/src/commands/task_graph.rs
crates/app/src/commands/tasks.rs
crates/app/src/commands/teardown.rs
crates/app/src/commands/template.rs
crates/app/src/commands/templates.rs
crates/app/src/commands/toolchain/add.rs
crates/app/src/commands/toolchain/download.rs
crates/app/src/commands/toolchain/info.rs
crates/app/src/commands/upgrade.rs
crates/app/src/queries/changed_files.rs
crates/app/src/session.rs
crates/app/src/session_atomic.rs
crates/app/src/systems/analyze.rs
crates/app/src/systems/execute.rs
crates/app/src/watchers/workspace_watcher.rs
crates/blob/Cargo.toml
crates/blob/src/blob.rs
crates/blob/src/lib.rs
crates/blob/tests/blob_test.rs
crates/cache-local/Cargo.toml
crates/cache-local/src/lib.rs
crates/cache-local/src/local_storage.rs
crates/cache-local/tests/local_storage_test.rs
crates/cache-remote/Cargo.toml
crates/cache-remote/src/compressable_blob.rs
crates/cache-remote/src/grpc_remote_storage.rs
crates/cache-remote/src/grpc_services.rs
crates/cache-remote/src/grpc_tls.rs
crates/cache-remote/src/headers.rs
crates/cache-remote/src/http_remote_storage.rs
crates/cache-remote/src/http_tls.rs
crates/cache-remote/src/lib.rs
crates/cache-remote/src/remote_error.rs
crates/cache-remote/tests/grpc_remote_storage_test.rs
crates/cache-remote/tests/http_remote_storage_test.rs
crates/cache-storage/Cargo.toml
crates/cache-storage/src/capabilities.rs
crates/cache-storage/src/digest_compat.rs
crates/cache-storage/src/helpers.rs
crates/cache-storage/src/lib.rs
crates/cache-storage/src/manifest.rs
crates/cache-storage/src/storage.rs
crates/cache-storage/src/storage_backend.rs
crates/cache-storage/tests/capabilities_test.rs
crates/cache-storage/tests/manifest_test.rs
crates/cache-storage/tests/storage_test.rs
crates/cache/Cargo.toml
crates/cache/benches/hash_files.rs
crates/cache/src/cache_engine.rs
crates/cache/src/lib.rs
crates/cache/tests/cache_engine_test.rs
crates/cas/Cargo.toml
crates/cas/src/cas.rs
crates/cas/src/gc.rs
crates/cas/src/lib.rs
crates/cas/tests/cas_test.rs
crates/cas/tests/gc_test.rs
crates/cli/Cargo.toml
crates/cli/src/main_exec.rs
crates/cli/src/shared.rs
crates/cli/tests/__fixtures__/cases/checks/moon.yml
crates/cli/tests/action_graph_test.rs
crates/cli/tests/check_test.rs
crates/cli/tests/docker_file_test.rs
crates/cli/tests/docker_prune_test.rs
crates/cli/tests/docker_scaffold_test.rs
crates/cli/tests/docker_setup_test.rs
crates/cli/tests/exec_test.rs
crates/cli/tests/ext_test.rs
crates/cli/tests/extension_add_test.rs
crates/cli/tests/extension_info_test.rs
crates/cli/tests/generate_test.rs
crates/cli/tests/hash_test.rs
crates/cli/tests/init_test.rs
crates/cli/tests/misc_test.rs
crates/cli/tests/project_graph_test.rs
crates/cli/tests/project_test.rs
crates/cli/tests/projects_test.rs
crates/cli/tests/query_projects_test.rs
crates/cli/tests/run_webhooks_test.rs
crates/cli/tests/setup_teardown_test.rs
crates/cli/tests/sync_test.rs
crates/cli/tests/task_graph_test.rs
crates/cli/tests/task_test.rs
crates/cli/tests/tasks_test.rs
crates/cli/tests/template_test.rs
crates/cli/tests/templates_test.rs
crates/cli/tests/toolchain_add_test.rs
crates/cli/tests/toolchain_info_test.rs
crates/cli/tests/utils.rs
crates/codegen/Cargo.toml
crates/codeowners/src/codeowners_generator.rs
crates/config-loader/Cargo.toml
crates/config-loader/src/lib.rs
crates/config-loader/src/toolchains_config_ext.rs
crates/config-schema/src/main.rs
crates/config-schema/src/typescript_types.rs
crates/config/Cargo.toml
crates/config/src/lib.rs
crates/config/src/project_config.rs
crates/config/src/task/checks_config.rs
crates/config/src/task/mod.rs
crates/config/src/task_config.rs
crates/config/src/task_options_config.rs
crates/config/src/toolchain/proto_config.rs
crates/config/src/workspace/cache_config.rs
crates/config/src/workspace/experiments_config.rs
crates/config/tests/__fixtures__/toml/.moon/tasks.toml
crates/config/tests/__fixtures__/toml/task.toml
crates/config/tests/project_config_test.rs
crates/config/tests/task_config_test.rs
crates/config/tests/utils.rs
crates/console/src/lib.rs
crates/daemon-client/Cargo.toml
crates/daemon-client/src/daemon_client.rs
crates/daemon-client/src/daemon_client_error.rs
crates/daemon-proto/proto/daemon.proto
crates/daemon-proto/src/lib.rs
crates/daemon-server/Cargo.toml
crates/daemon-server/src/daemon_server.rs
crates/daemon-server/src/daemon_watcher.rs
crates/daemon-server/tests/server_test.rs
crates/daemon-utils/Cargo.toml
crates/daemon-utils/src/endpoint.rs
crates/daemon-utils/src/lib.rs
crates/daemon-utils/src/lock.rs
crates/daemon-utils/src/sys/windows.rs
crates/daemon-utils/tests/endpoint_test.rs
crates/daemon/Cargo.toml
crates/daemon/src/connector.rs
crates/daemon/tests/connector_test.rs
crates/extension-plugin/src/extension_registry.rs
crates/file-group/tests/file_group_test.rs
crates/hash/Cargo.toml
crates/hash/src/blob_digest.rs
crates/hash/src/content_hash.rs
crates/hash/src/content_hasher.rs
crates/hash/src/digest.rs
crates/hash/src/lib.rs
crates/hash/tests/blob_digest_test.rs
crates/hash/tests/content_hash_test.rs
crates/hash/tests/digest_test.rs
crates/notifier/src/notifications.rs
crates/notifier/src/webhooks.rs
crates/pdk/Cargo.toml
crates/process-augment/src/augmented_command.rs
crates/process/Cargo.toml
crates/process/examples/args.rs
crates/process/src/command.rs
crates/process/src/exec_command.rs
crates/process/src/lib.rs
crates/process/src/main.rs
crates/process/src/output.rs
crates/process/src/output_stream.rs
crates/process/src/process_registry.rs
crates/process/src/shared_child.rs
crates/process/src/signal.rs
crates/process/tests/command_test.rs
crates/process/tests/exec_command_test.rs
crates/process/tests/helpers_test.rs
crates/process/tests/output_test.rs
crates/process/tests/process_registry_test.rs
crates/process/tests/shared_child_test.rs
crates/process/tests/signal_test.rs
crates/project-builder/Cargo.toml
crates/project-builder/src/project_builder.rs
crates/project-builder/tests/project_builder_test.rs
crates/project-graph/Cargo.toml
crates/project-graph/tests/project_graph_test.rs
crates/remote/Cargo.toml
crates/remote/src/blob.rs
crates/remote/src/digest_compat.rs
crates/remote/src/grpc_remote_client.rs
crates/remote/src/grpc_services.rs
crates/remote/src/grpc_tls.rs
crates/remote/src/helpers.rs
crates/remote/src/http_remote_client.rs
crates/remote/src/http_tls.rs
crates/remote/src/lib.rs
crates/remote/src/remote_client.rs
crates/remote/src/remote_error.rs
crates/remote/src/remote_service.rs
crates/remote/tests/__fixtures__/certs-local/README.md
crates/remote/tests/__fixtures__/certs-local/ca.crt
crates/remote/tests/__fixtures__/certs-local/ca.key
crates/remote/tests/__fixtures__/certs-local/ca.pem
crates/remote/tests/__fixtures__/certs-local/client.crt
crates/remote/tests/__fixtures__/certs-local/client.csr
crates/remote/tests/__fixtures__/certs-local/client.key
crates/remote/tests/__fixtures__/certs-local/client.pem
crates/remote/tests/__fixtures__/certs-local/server.crt
crates/remote/tests/__fixtures__/certs-local/server.csr
crates/remote/tests/__fixtures__/certs-local/server.key
crates/remote/tests/__fixtures__/certs-local/server.pem
crates/remote/tests/__fixtures__/certs/README.md
crates/remote/tests/__fixtures__/certs/ca.pem
crates/remote/tests/__fixtures__/certs/client.key
crates/remote/tests/__fixtures__/certs/client.pem
crates/remote/tests/__fixtures__/certs/server.key
crates/remote/tests/__fixtures__/certs/server.pem
crates/task-builder/Cargo.toml
crates/task-builder/src/task_deps_builder.rs
crates/task-builder/src/tasks_builder.rs
crates/task-builder/tests/__fixtures__/builder/checks/moon.yml
crates/task-builder/tests/__fixtures__/builder/global/tasks/tag-checks.yml
crates/task-builder/tests/__fixtures__/builder/merge-checks/moon.yml
crates/task-builder/tests/__fixtures__/builder/task-options/moon.yml
crates/task-builder/tests/tasks_builder_test.rs
crates/task-builder/tests/utils.rs
crates/task-expander/src/task_expander.rs
crates/task-hasher/Cargo.toml
crates/task-hasher/src/task_fingerprint.rs
crates/task-hasher/src/task_hasher.rs
crates/task-hasher/src/task_hashing.rs
crates/task-hasher/tests/task_hasher_test.rs
crates/task-runner/Cargo.toml
crates/task-runner/src/check_executor.rs
crates/task-runner/src/checks_runner.rs
crates/task-runner/src/command_builder.rs
crates/task-runner/src/command_executor.rs
crates/task-runner/src/lib.rs
crates/task-runner/src/manifest_compat.rs
crates/task-runner/src/output_archiver.rs
crates/task-runner/src/output_hydrater.rs
crates/task-runner/src/output_tree.rs
crates/task-runner/src/remote_compat.rs
crates/task-runner/src/run_state.rs
crates/task-runner/src/task_executor.rs
crates/task-runner/src/task_runner.rs
crates/task-runner/src/task_runner_error.rs
crates/task-runner/tests/command_builder_test.rs
crates/task-runner/tests/output_archiver_test.rs
crates/task-runner/tests/output_hydrater_test.rs
crates/task-runner/tests/task_runner_test.rs
crates/task-runner/tests/utils.rs
crates/task/src/lib.rs
crates/task/src/task.rs
crates/task/src/task_options.rs
crates/test-utils/Cargo.toml
crates/test-utils/src/workspace_mocker.rs
crates/toolchain-plugin/Cargo.toml
crates/toolchain-plugin/benches/toolchain_registry.rs
crates/toolchain-plugin/src/toolchain_plugin.rs
crates/toolchain-plugin/src/toolchain_registry.rs
crates/toolchain-plugin/src/toolchain_registry_actions.rs
crates/vcs-hooks/Cargo.toml
crates/vcs-hooks/src/hooks_generator.rs
crates/vcs-hooks/tests/hooks_generator_test.rs
crates/vcs/Cargo.toml
crates/vcs/src/changed_files.rs
crates/vcs/src/git/common.rs
crates/vcs/src/git/git_client.rs
crates/vcs/src/git/git_error.rs
crates/vcs/src/git/tree.rs
crates/vcs/src/vcs.rs
crates/vcs/tests/git_test.rs
crates/workspace/Cargo.toml
crates/workspace/benches/workspace_graphs.rs
crates/workspace/src/projects_builder.rs
crates/workspace/src/workspace_builder.rs
depot.json
dist-workspace.toml
docs/PROMPTS.md
eslint.config.mjs
justfile
moon.yml
package.json
packages/report/package.json
packages/report/src/action.ts
packages/report/src/report.ts
packages/report/src/time.ts
packages/report/tests/action.test.ts
packages/report/tests/report.test.ts
packages/report/tests/time.test.ts
packages/report/tsconfig.cjs.json
packages/report/tsconfig.json
packages/types/package.json
packages/types/src/mcp.ts
packages/types/src/project-config.ts
packages/types/src/task.ts
packages/types/src/tasks-config.ts
packages/types/src/workspace-config.ts
packages/types/tsconfig.cjs.json
packages/types/tsconfig.json
packages/visualizer/moon.yml
packages/visualizer/package.json
packages/visualizer/src/app.tsx
packages/visualizer/src/components/Graph.tsx
packages/visualizer/src/helpers/render.ts
packages/visualizer/src/main.tsx
packages/visualizer/src/vite-env.d.ts
packages/visualizer/tsconfig.json
packages/visualizer/vite.config.mjs
packages/vscode-extension/.vscodeignore
packages/vscode-extension/CHANGELOG.md
packages/vscode-extension/DEV.md
packages/vscode-extension/LICENSE
packages/vscode-extension/README.md
packages/vscode-extension/images/activity-icon.png
packages/vscode-extension/images/last-run-view.png
packages/vscode-extension/images/projects-view.png
packages/vscode-extension/images/tags-view.png
packages/vscode-extension/moon.yml
packages/vscode-extension/package.json
packages/vscode-extension/src/commands.ts
packages/vscode-extension/src/graphVisualizerView.ts
packages/vscode-extension/src/index.ts
packages/vscode-extension/src/lastRunView.ts
packages/vscode-extension/src/projectsView.ts
packages/vscode-extension/src/workspace.ts
packages/vscode-extension/tsconfig.json
prettier.config.js
rustfmt.toml
scenarios/deno-signals/main.ts
scenarios/interactive/input.mjs
scripts/release/buildPackages.sh
skills/debug-task/SKILL.md
skills/debug-task/references/cache-issues.md
skills/debug-task/references/config-mistakes.md
skills/debug-task/references/decision-tree.md
skills/debug-task/references/environment-debug.md
tailwind.config.js
tsconfig.eslint.json
tsconfig.json
tsconfig.options.json
vite.config.ts
wasm/Cargo.lock
wasm/Cargo.toml
website/.eslintrc.cjs
website/blog/2026-07-05-moon-v2.4.mdx
website/blog/img/moon/v2.4.png
website/docs/__partials__/setup-toolchain/python/tier2.mdx
website/docs/__partials__/setup-toolchain/ruby/tier2.mdx
website/docs/__partials__/setup-toolchain/ruby/tier3.mdx
website/docs/commands/overview.mdx
website/docs/commands/upgrade.mdx
website/docs/concepts/cache.mdx
website/docs/config/project.mdx
website/docs/config/tasks.mdx
website/docs/config/toolchain.mdx
website/docs/editors/vscode.mdx
website/docs/guides/ci.mdx
website/docs/guides/daemon.mdx
website/docs/intro.mdx
website/docusaurus.config.ts
website/moon.yml
website/package.json
website/prism.config.ts
website/sidebars.ts
website/src/components/ComparisonTable.tsx
website/src/components/Docs/ActionGraph.tsx
website/src/components/Docs/HeadingApiLink.tsx
website/src/components/Docs/LangGraph.tsx
website/src/components/Docs/ProjectGraph.tsx
website/src/components/Docs/TaskGraph.tsx
website/src/components/FeatureStatus.tsx
website/src/components/Forms/RemoteCacheBeta.tsx
website/src/components/Home/CTA.tsx
website/src/components/Home/ProductSection.tsx
website/src/components/LangPartials.tsx
website/src/components/LangSelector.tsx
website/src/components/NextSteps.tsx
website/src/components/NonWasmTabs.tsx
website/src/components/Products/Features.tsx
website/src/components/Products/Moon/Hero.tsx
website/src/components/Products/Moon/HeroTerminal.tsx
website/src/components/Products/Proto/Hero.tsx
website/src/components/Products/Proto/ToolCard.tsx
website/src/components/Products/Proto/ToolCards.tsx
website/src/components/Products/Proto/ToolsGrid.tsx
website/src/js/darkModeSyncer.ts
website/src/pages/index.tsx
website/src/pages/moon.tsx
website/src/pages/moonbase.tsx
website/src/pages/proto.tsx
website/src/theme/DocBreadcrumbs.tsx
website/src/theme/Footer/Layout/ContactForm.tsx
website/src/theme/Footer/Links/MultiColumn.tsx
website/src/theme/PaginatorNavLink.tsx
website/src/theme/prism-include-languages.js
website/src/ui/iconography/Icon.tsx
website/src/ui/typography/Heading.tsx
website/src/ui/typography/Label.tsx
website/src/ui/typography/Link.tsx
website/src/ui/typography/Text.tsx
website/static/schemas/project.json
website/static/schemas/tasks.json
website/static/schemas/template.json
website/static/schemas/toolchain.json
website/static/schemas/v1/project.json
website/static/schemas/v1/tasks.json
website/static/schemas/v1/template.json
website/static/schemas/v1/toolchain.json
website/static/schemas/v1/workspace.json
website/static/schemas/v2/extensions.json
website/static/schemas/v2/project.json
website/static/schemas/v2/tasks.json
website/static/schemas/v2/template.json
website/static/schemas/v2/toolchains.json
website/static/schemas/v2/workspace.json
website/static/schemas/workspace.json
website/tsconfig.json
yarn.lock

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown

Run report for 1574ee1c (windows-latest)

Total time: 2m 2s | Comparison time: 2m 28s | Estimated savings: 25.7s (17.4% faster)

Action Time Status Info
🟩 SyncWorkspace 177.4ms Passed
🟩 SyncProject(types) 8.4ms Passed
🟩 SyncProject(visualizer) 10.5ms Passed
🟩 SyncProject(website) 12ms Passed
🟩 SyncProject(report) 12.2ms Passed
🟩 SyncProject(vscode-extension) 7.6ms Passed
🟩 SetupProto(0.58.2) 8.5s Passed
🟩 SetupToolchain(node:22.18.0) 9.7s Passed
🟩 SetupToolchain(yarn:4.16.0) 842.8ms Passed
⬛️ SetupToolchain(javascript) 0.4ms Skipped
🟩 SetupEnvironment(javascript) 4.5ms Passed
⬛️ InstallDependencies(javascript) 2.5ms Skipped
🟩 RunTask(types:typecheck) 2.5s Passed
🟩 RunTask(types:test) 2.7s Passed
🟩 RunTask(types:build) 3.6s Passed
🟩 RunTask(visualizer:typecheck) 5s Passed
🟩 RunTask(visualizer:test) 6.1s Passed
🟩 RunTask(report:build) 6.8s Passed
🟩 RunTask(report:test) 2.6s Passed
🟩 RunTask(report:typecheck) 1.3s Passed
And 7 more...
Expanded report
Action Time Status Info
🟩 RunTask(website:test) 2.9s Passed
🟩 RunTask(vscode-extension:typecheck) 4.2s Passed
🟩 RunTask(vscode-extension:test) 3.3s Passed
🟩 RunTask(visualizer:build) 7.7s Passed
🟩 RunTask(website:typecheck) 11s Passed
🟩 RunTask(vscode-extension:build) 2.2s Passed
🟩 RunTask(website:build) 1m 39s Passed
Environment

OS: Windows
Matrix:

os = windows-latest
Changed files
.agents/skills/doc-coauthoring/SKILL.md
.dockerignore
.github/copilot-instructions.md
.github/workflows/benchmark.yml
.github/workflows/docs.yml
.github/workflows/moon.yml
.github/workflows/pr.yml
.github/workflows/publish-npm.yml
.github/workflows/release.yml
.github/workflows/rust.yml
.gitignore
.moon/tasks/node.yml
.moon/toolchains.yml
.moon/workspace.yml
.prettierignore
.prototools
.vscode/extensions.json
.vscode/launch.json
.vscode/mcp.json
.vscode/settings.json
.yarn/releases/yarn-4.12.0.cjs
.yarn/releases/yarn-4.16.0.cjs
.yarn/versions/9c6c14e9.yml
.yarnrc.yml
AGENTS.md
CHANGELOG.md
CLAUDE.md
CONTRIBUTING.md
Cargo.lock
Cargo.toml
README.md
babel.config.js
crates/action-context/src/lib.rs
crates/action-graph/Cargo.toml
crates/action-graph/src/action_graph_builder.rs
crates/action-graph/tests/__fixtures__/serial-cycle/app-d/moon.yml
crates/action-graph/tests/__fixtures__/serial-cycle/lib-a/moon.yml
crates/action-graph/tests/__fixtures__/serial-cycle/lib-b/moon.yml
crates/action-graph/tests/__fixtures__/serial-cycle/lib-c/moon.yml
crates/action-graph/tests/utils.rs
crates/action-pipeline/Cargo.toml
crates/action-pipeline/src/action_pipeline.rs
crates/action-pipeline/src/action_runner.rs
crates/action-pipeline/src/job.rs
crates/action-pipeline/src/job_dispatcher.rs
crates/action-pipeline/src/subscribers/cleanup_subscriber.rs
crates/action-pipeline/src/subscribers/mod.rs
crates/action-pipeline/src/subscribers/remote_subscriber.rs
crates/action-pipeline/tests/action_pipeline_test.rs
crates/actions/Cargo.toml
crates/actions/src/actions/setup_toolchain.rs
crates/actions/src/actions/sync_workspace.rs
crates/actions/tests/commands_test.rs
crates/actions/tests/sync_project_test.rs
crates/actions/tests/sync_workspace_test.rs
crates/actions/tests/utils_test.rs
crates/affected/Cargo.toml
crates/affected/benches/affected_tracker.rs
crates/affected/tests/affected_tracker_async_test.rs
crates/affected/tests/affected_tracker_test.rs
crates/app/Cargo.toml
crates/app/src/app.rs
crates/app/src/app_options.rs
crates/app/src/commands/action_graph.rs
crates/app/src/commands/bin.rs
crates/app/src/commands/check.rs
crates/app/src/commands/ci.rs
crates/app/src/commands/clean.rs
crates/app/src/commands/completions.rs
crates/app/src/commands/daemon/logs.rs
crates/app/src/commands/daemon/restart.rs
crates/app/src/commands/daemon/server.rs
crates/app/src/commands/daemon/start.rs
crates/app/src/commands/daemon/status.rs
crates/app/src/commands/daemon/stop.rs
crates/app/src/commands/debug/config.rs
crates/app/src/commands/debug/vcs.rs
crates/app/src/commands/docker/file.rs
crates/app/src/commands/docker/prune.rs
crates/app/src/commands/docker/scaffold.rs
crates/app/src/commands/docker/setup.rs
crates/app/src/commands/exec.rs
crates/app/src/commands/ext.rs
crates/app/src/commands/extension/add.rs
crates/app/src/commands/extension/download.rs
crates/app/src/commands/extension/info.rs
crates/app/src/commands/generate.rs
crates/app/src/commands/hash.rs
crates/app/src/commands/init.rs
crates/app/src/commands/mcp.rs
crates/app/src/commands/migrate/v2.rs
crates/app/src/commands/project.rs
crates/app/src/commands/project_graph.rs
crates/app/src/commands/projects.rs
crates/app/src/commands/query/affected.rs
crates/app/src/commands/query/changed_files.rs
crates/app/src/commands/query/projects.rs
crates/app/src/commands/query/tasks.rs
crates/app/src/commands/run.rs
crates/app/src/commands/setup.rs
crates/app/src/commands/sync.rs
crates/app/src/commands/syncs/codeowners.rs
crates/app/src/commands/syncs/config_schemas.rs
crates/app/src/commands/syncs/projects.rs
crates/app/src/commands/syncs/vcs_hooks.rs
crates/app/src/commands/task.rs
crates/app/src/commands/task_graph.rs
crates/app/src/commands/tasks.rs
crates/app/src/commands/teardown.rs
crates/app/src/commands/template.rs
crates/app/src/commands/templates.rs
crates/app/src/commands/toolchain/add.rs
crates/app/src/commands/toolchain/download.rs
crates/app/src/commands/toolchain/info.rs
crates/app/src/commands/upgrade.rs
crates/app/src/queries/changed_files.rs
crates/app/src/session.rs
crates/app/src/session_atomic.rs
crates/app/src/systems/analyze.rs
crates/app/src/systems/execute.rs
crates/app/src/watchers/workspace_watcher.rs
crates/blob/Cargo.toml
crates/blob/src/blob.rs
crates/blob/src/lib.rs
crates/blob/tests/blob_test.rs
crates/cache-local/Cargo.toml
crates/cache-local/src/lib.rs
crates/cache-local/src/local_storage.rs
crates/cache-local/tests/local_storage_test.rs
crates/cache-remote/Cargo.toml
crates/cache-remote/src/compressable_blob.rs
crates/cache-remote/src/grpc_remote_storage.rs
crates/cache-remote/src/grpc_services.rs
crates/cache-remote/src/grpc_tls.rs
crates/cache-remote/src/headers.rs
crates/cache-remote/src/http_remote_storage.rs
crates/cache-remote/src/http_tls.rs
crates/cache-remote/src/lib.rs
crates/cache-remote/src/remote_error.rs
crates/cache-remote/tests/grpc_remote_storage_test.rs
crates/cache-remote/tests/http_remote_storage_test.rs
crates/cache-storage/Cargo.toml
crates/cache-storage/src/capabilities.rs
crates/cache-storage/src/digest_compat.rs
crates/cache-storage/src/helpers.rs
crates/cache-storage/src/lib.rs
crates/cache-storage/src/manifest.rs
crates/cache-storage/src/storage.rs
crates/cache-storage/src/storage_backend.rs
crates/cache-storage/tests/capabilities_test.rs
crates/cache-storage/tests/manifest_test.rs
crates/cache-storage/tests/storage_test.rs
crates/cache/Cargo.toml
crates/cache/benches/hash_files.rs
crates/cache/src/cache_engine.rs
crates/cache/src/lib.rs
crates/cache/tests/cache_engine_test.rs
crates/cas/Cargo.toml
crates/cas/src/cas.rs
crates/cas/src/gc.rs
crates/cas/src/lib.rs
crates/cas/tests/cas_test.rs
crates/cas/tests/gc_test.rs
crates/cli/Cargo.toml
crates/cli/src/main_exec.rs
crates/cli/src/shared.rs
crates/cli/tests/__fixtures__/cases/checks/moon.yml
crates/cli/tests/action_graph_test.rs
crates/cli/tests/check_test.rs
crates/cli/tests/docker_file_test.rs
crates/cli/tests/docker_prune_test.rs
crates/cli/tests/docker_scaffold_test.rs
crates/cli/tests/docker_setup_test.rs
crates/cli/tests/exec_test.rs
crates/cli/tests/ext_test.rs
crates/cli/tests/extension_add_test.rs
crates/cli/tests/extension_info_test.rs
crates/cli/tests/generate_test.rs
crates/cli/tests/hash_test.rs
crates/cli/tests/init_test.rs
crates/cli/tests/misc_test.rs
crates/cli/tests/project_graph_test.rs
crates/cli/tests/project_test.rs
crates/cli/tests/projects_test.rs
crates/cli/tests/query_projects_test.rs
crates/cli/tests/run_webhooks_test.rs
crates/cli/tests/setup_teardown_test.rs
crates/cli/tests/sync_test.rs
crates/cli/tests/task_graph_test.rs
crates/cli/tests/task_test.rs
crates/cli/tests/tasks_test.rs
crates/cli/tests/template_test.rs
crates/cli/tests/templates_test.rs
crates/cli/tests/toolchain_add_test.rs
crates/cli/tests/toolchain_info_test.rs
crates/cli/tests/utils.rs
crates/codegen/Cargo.toml
crates/codeowners/src/codeowners_generator.rs
crates/config-loader/Cargo.toml
crates/config-loader/src/lib.rs
crates/config-loader/src/toolchains_config_ext.rs
crates/config-schema/src/main.rs
crates/config-schema/src/typescript_types.rs
crates/config/Cargo.toml
crates/config/src/lib.rs
crates/config/src/project_config.rs
crates/config/src/task/checks_config.rs
crates/config/src/task/mod.rs
crates/config/src/task_config.rs
crates/config/src/task_options_config.rs
crates/config/src/toolchain/proto_config.rs
crates/config/src/workspace/cache_config.rs
crates/config/src/workspace/experiments_config.rs
crates/config/tests/__fixtures__/toml/.moon/tasks.toml
crates/config/tests/__fixtures__/toml/task.toml
crates/config/tests/project_config_test.rs
crates/config/tests/task_config_test.rs
crates/config/tests/utils.rs
crates/console/src/lib.rs
crates/daemon-client/Cargo.toml
crates/daemon-client/src/daemon_client.rs
crates/daemon-client/src/daemon_client_error.rs
crates/daemon-proto/proto/daemon.proto
crates/daemon-proto/src/lib.rs
crates/daemon-server/Cargo.toml
crates/daemon-server/src/daemon_server.rs
crates/daemon-server/src/daemon_watcher.rs
crates/daemon-server/tests/server_test.rs
crates/daemon-utils/Cargo.toml
crates/daemon-utils/src/endpoint.rs
crates/daemon-utils/src/lib.rs
crates/daemon-utils/src/lock.rs
crates/daemon-utils/src/sys/windows.rs
crates/daemon-utils/tests/endpoint_test.rs
crates/daemon/Cargo.toml
crates/daemon/src/connector.rs
crates/daemon/tests/connector_test.rs
crates/extension-plugin/src/extension_registry.rs
crates/file-group/tests/file_group_test.rs
crates/hash/Cargo.toml
crates/hash/src/blob_digest.rs
crates/hash/src/content_hash.rs
crates/hash/src/content_hasher.rs
crates/hash/src/digest.rs
crates/hash/src/lib.rs
crates/hash/tests/blob_digest_test.rs
crates/hash/tests/content_hash_test.rs
crates/hash/tests/digest_test.rs
crates/notifier/src/notifications.rs
crates/notifier/src/webhooks.rs
crates/pdk/Cargo.toml
crates/process-augment/src/augmented_command.rs
crates/process/Cargo.toml
crates/process/examples/args.rs
crates/process/src/command.rs
crates/process/src/exec_command.rs
crates/process/src/lib.rs
crates/process/src/main.rs
crates/process/src/output.rs
crates/process/src/output_stream.rs
crates/process/src/process_registry.rs
crates/process/src/shared_child.rs
crates/process/src/signal.rs
crates/process/tests/command_test.rs
crates/process/tests/exec_command_test.rs
crates/process/tests/helpers_test.rs
crates/process/tests/output_test.rs
crates/process/tests/process_registry_test.rs
crates/process/tests/shared_child_test.rs
crates/process/tests/signal_test.rs
crates/project-builder/Cargo.toml
crates/project-builder/src/project_builder.rs
crates/project-builder/tests/project_builder_test.rs
crates/project-graph/Cargo.toml
crates/project-graph/tests/project_graph_test.rs
crates/remote/Cargo.toml
crates/remote/src/blob.rs
crates/remote/src/digest_compat.rs
crates/remote/src/grpc_remote_client.rs
crates/remote/src/grpc_services.rs
crates/remote/src/grpc_tls.rs
crates/remote/src/helpers.rs
crates/remote/src/http_remote_client.rs
crates/remote/src/http_tls.rs
crates/remote/src/lib.rs
crates/remote/src/remote_client.rs
crates/remote/src/remote_error.rs
crates/remote/src/remote_service.rs
crates/remote/tests/__fixtures__/certs-local/README.md
crates/remote/tests/__fixtures__/certs-local/ca.crt
crates/remote/tests/__fixtures__/certs-local/ca.key
crates/remote/tests/__fixtures__/certs-local/ca.pem
crates/remote/tests/__fixtures__/certs-local/client.crt
crates/remote/tests/__fixtures__/certs-local/client.csr
crates/remote/tests/__fixtures__/certs-local/client.key
crates/remote/tests/__fixtures__/certs-local/client.pem
crates/remote/tests/__fixtures__/certs-local/server.crt
crates/remote/tests/__fixtures__/certs-local/server.csr
crates/remote/tests/__fixtures__/certs-local/server.key
crates/remote/tests/__fixtures__/certs-local/server.pem
crates/remote/tests/__fixtures__/certs/README.md
crates/remote/tests/__fixtures__/certs/ca.pem
crates/remote/tests/__fixtures__/certs/client.key
crates/remote/tests/__fixtures__/certs/client.pem
crates/remote/tests/__fixtures__/certs/server.key
crates/remote/tests/__fixtures__/certs/server.pem
crates/task-builder/Cargo.toml
crates/task-builder/src/task_deps_builder.rs
crates/task-builder/src/tasks_builder.rs
crates/task-builder/tests/__fixtures__/builder/checks/moon.yml
crates/task-builder/tests/__fixtures__/builder/global/tasks/tag-checks.yml
crates/task-builder/tests/__fixtures__/builder/merge-checks/moon.yml
crates/task-builder/tests/__fixtures__/builder/task-options/moon.yml
crates/task-builder/tests/tasks_builder_test.rs
crates/task-builder/tests/utils.rs
crates/task-expander/src/task_expander.rs
crates/task-hasher/Cargo.toml
crates/task-hasher/src/task_fingerprint.rs
crates/task-hasher/src/task_hasher.rs
crates/task-hasher/src/task_hashing.rs
crates/task-hasher/tests/task_hasher_test.rs
crates/task-runner/Cargo.toml
crates/task-runner/src/check_executor.rs
crates/task-runner/src/checks_runner.rs
crates/task-runner/src/command_builder.rs
crates/task-runner/src/command_executor.rs
crates/task-runner/src/lib.rs
crates/task-runner/src/manifest_compat.rs
crates/task-runner/src/output_archiver.rs
crates/task-runner/src/output_hydrater.rs
crates/task-runner/src/output_tree.rs
crates/task-runner/src/remote_compat.rs
crates/task-runner/src/run_state.rs
crates/task-runner/src/task_executor.rs
crates/task-runner/src/task_runner.rs
crates/task-runner/src/task_runner_error.rs
crates/task-runner/tests/command_builder_test.rs
crates/task-runner/tests/output_archiver_test.rs
crates/task-runner/tests/output_hydrater_test.rs
crates/task-runner/tests/task_runner_test.rs
crates/task-runner/tests/utils.rs
crates/task/src/lib.rs
crates/task/src/task.rs
crates/task/src/task_options.rs
crates/test-utils/Cargo.toml
crates/test-utils/src/workspace_mocker.rs
crates/toolchain-plugin/Cargo.toml
crates/toolchain-plugin/benches/toolchain_registry.rs
crates/toolchain-plugin/src/toolchain_plugin.rs
crates/toolchain-plugin/src/toolchain_registry.rs
crates/toolchain-plugin/src/toolchain_registry_actions.rs
crates/vcs-hooks/Cargo.toml
crates/vcs-hooks/src/hooks_generator.rs
crates/vcs-hooks/tests/hooks_generator_test.rs
crates/vcs/Cargo.toml
crates/vcs/src/changed_files.rs
crates/vcs/src/git/common.rs
crates/vcs/src/git/git_client.rs
crates/vcs/src/git/git_error.rs
crates/vcs/src/git/tree.rs
crates/vcs/src/vcs.rs
crates/vcs/tests/git_test.rs
crates/workspace/Cargo.toml
crates/workspace/benches/workspace_graphs.rs
crates/workspace/src/projects_builder.rs
crates/workspace/src/workspace_builder.rs
depot.json
dist-workspace.toml
docs/PROMPTS.md
eslint.config.mjs
justfile
moon.yml
package.json
packages/report/package.json
packages/report/src/action.ts
packages/report/src/report.ts
packages/report/src/time.ts
packages/report/tests/action.test.ts
packages/report/tests/report.test.ts
packages/report/tests/time.test.ts
packages/report/tsconfig.cjs.json
packages/report/tsconfig.json
packages/types/package.json
packages/types/src/mcp.ts
packages/types/src/project-config.ts
packages/types/src/task.ts
packages/types/src/tasks-config.ts
packages/types/src/workspace-config.ts
packages/types/tsconfig.cjs.json
packages/types/tsconfig.json
packages/visualizer/moon.yml
packages/visualizer/package.json
packages/visualizer/src/app.tsx
packages/visualizer/src/components/Graph.tsx
packages/visualizer/src/helpers/render.ts
packages/visualizer/src/main.tsx
packages/visualizer/src/vite-env.d.ts
packages/visualizer/tsconfig.json
packages/visualizer/vite.config.mjs
packages/vscode-extension/.vscodeignore
packages/vscode-extension/CHANGELOG.md
packages/vscode-extension/DEV.md
packages/vscode-extension/LICENSE
packages/vscode-extension/README.md
packages/vscode-extension/images/activity-icon.png
packages/vscode-extension/images/last-run-view.png
packages/vscode-extension/images/projects-view.png
packages/vscode-extension/images/tags-view.png
packages/vscode-extension/moon.yml
packages/vscode-extension/package.json
packages/vscode-extension/src/commands.ts
packages/vscode-extension/src/graphVisualizerView.ts
packages/vscode-extension/src/index.ts
packages/vscode-extension/src/lastRunView.ts
packages/vscode-extension/src/projectsView.ts
packages/vscode-extension/src/workspace.ts
packages/vscode-extension/tsconfig.json
prettier.config.js
rustfmt.toml
scenarios/deno-signals/main.ts
scenarios/interactive/input.mjs
scripts/release/buildPackages.sh
skills/debug-task/SKILL.md
skills/debug-task/references/cache-issues.md
skills/debug-task/references/config-mistakes.md
skills/debug-task/references/decision-tree.md
skills/debug-task/references/environment-debug.md
tailwind.config.js
tsconfig.eslint.json
tsconfig.json
tsconfig.options.json
vite.config.ts
wasm/Cargo.lock
wasm/Cargo.toml
website/.eslintrc.cjs
website/blog/2026-07-05-moon-v2.4.mdx
website/blog/img/moon/v2.4.png
website/docs/__partials__/setup-toolchain/python/tier2.mdx
website/docs/__partials__/setup-toolchain/ruby/tier2.mdx
website/docs/__partials__/setup-toolchain/ruby/tier3.mdx
website/docs/commands/overview.mdx
website/docs/commands/upgrade.mdx
website/docs/concepts/cache.mdx
website/docs/config/project.mdx
website/docs/config/tasks.mdx
website/docs/config/toolchain.mdx
website/docs/editors/vscode.mdx
website/docs/guides/ci.mdx
website/docs/guides/daemon.mdx
website/docs/intro.mdx
website/docusaurus.config.ts
website/moon.yml
website/package.json
website/prism.config.ts
website/sidebars.ts
website/src/components/ComparisonTable.tsx
website/src/components/Docs/ActionGraph.tsx
website/src/components/Docs/HeadingApiLink.tsx
website/src/components/Docs/LangGraph.tsx
website/src/components/Docs/ProjectGraph.tsx
website/src/components/Docs/TaskGraph.tsx
website/src/components/FeatureStatus.tsx
website/src/components/Forms/RemoteCacheBeta.tsx
website/src/components/Home/CTA.tsx
website/src/components/Home/ProductSection.tsx
website/src/components/LangPartials.tsx
website/src/components/LangSelector.tsx
website/src/components/NextSteps.tsx
website/src/components/NonWasmTabs.tsx
website/src/components/Products/Features.tsx
website/src/components/Products/Moon/Hero.tsx
website/src/components/Products/Moon/HeroTerminal.tsx
website/src/components/Products/Proto/Hero.tsx
website/src/components/Products/Proto/ToolCard.tsx
website/src/components/Products/Proto/ToolCards.tsx
website/src/components/Products/Proto/ToolsGrid.tsx
website/src/js/darkModeSyncer.ts
website/src/pages/index.tsx
website/src/pages/moon.tsx
website/src/pages/moonbase.tsx
website/src/pages/proto.tsx
website/src/theme/DocBreadcrumbs.tsx
website/src/theme/Footer/Layout/ContactForm.tsx
website/src/theme/Footer/Links/MultiColumn.tsx
website/src/theme/PaginatorNavLink.tsx
website/src/theme/prism-include-languages.js
website/src/ui/iconography/Icon.tsx
website/src/ui/typography/Heading.tsx
website/src/ui/typography/Label.tsx
website/src/ui/typography/Link.tsx
website/src/ui/typography/Text.tsx
website/static/schemas/project.json
website/static/schemas/tasks.json
website/static/schemas/template.json
website/static/schemas/toolchain.json
website/static/schemas/v1/project.json
website/static/schemas/v1/tasks.json
website/static/schemas/v1/template.json
website/static/schemas/v1/toolchain.json
website/static/schemas/v1/workspace.json
website/static/schemas/v2/extensions.json
website/static/schemas/v2/project.json
website/static/schemas/v2/tasks.json
website/static/schemas/v2/template.json
website/static/schemas/v2/toolchains.json
website/static/schemas/v2/workspace.json
website/static/schemas/workspace.json
website/tsconfig.json
yarn.lock

@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 79.33945% with 563 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.16%. Comparing base (c35caa5) to head (1574ee1).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
crates/cache-storage/src/storage.rs 76.99% 72 Missing ⚠️
crates/cache-remote/src/grpc_remote_storage.rs 85.42% 64 Missing ⚠️
crates/process/src/exec_command.rs 66.47% 57 Missing ⚠️
crates/daemon-server/src/daemon_server.rs 58.55% 46 Missing ⚠️
crates/cache-remote/src/http_remote_storage.rs 74.80% 32 Missing ⚠️
crates/daemon/src/connector.rs 54.38% 26 Missing ⚠️
crates/config-loader/src/lib.rs 0.00% 22 Missing ⚠️
crates/app/src/session.rs 48.71% 20 Missing ⚠️
crates/cache-remote/src/headers.rs 28.57% 20 Missing ⚠️
crates/cache-storage/src/storage_backend.rs 73.68% 20 Missing ⚠️
... and 46 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2589      +/-   ##
==========================================
+ Coverage   70.95%   74.16%   +3.20%     
==========================================
  Files         307      313       +6     
  Lines       25932    27449    +1517     
==========================================
+ Hits        18400    20357    +1957     
+ Misses       7532     7092     -440     
Flag Coverage Δ
rust 74.16% <79.33%> (+3.20%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

milesj and others added 12 commits June 29, 2026 22:57
* Add impl.

* Update changelog.

* Handle zero blob.
* Update deps.

* Update proto.

* Bump dist.

* Fix config.

* Fix tests.

* Fixes.
* Add setting.

* Add tests.

* Fix schemas.
* Add impl.

* Update changelog.
Map the `unstable_ruby` toolchain id to the ruby_toolchain WASM plugin
(moonrepo/plugins) in get_plugin_locator and inherit_plugin_locators.
Part of Ruby tier 3 support.
* fix(toolchain): support build-from-source tier-3 toolchains

Two gaps blocked build-from-source toolchains (e.g. ruby_tool, which compiles
via ruby-build) from installing:

1. supports_tier_3() only recognized download_prebuilt/native_install, so moon
   never scheduled a SetupToolchain action for source-only tools. Add
   build_instructions to the check (proto's build-from-source install path).
2. setup_toolchain() called proto's Manager::install with a default
   InstallOptions, so strategy defaulted to prebuilt and errored
   (prebuilt_unsupported). Pass the tool's declared default_install_strategy.

* bump starbase_console for new `with_reporter` api
* Add log date.

* Phase 1.

* Run in background.

* Rework connection.

* Add acquire.

* Add version handshake.

* Clean up usage.

* Add monitoring.

* Add background tasks.

* Fix watcher.

* Fix shutdown.

* Fixes.
* Add check configs.

* Add tests.

* Add to builder.

* Rename struct.

* Add fingerprinting.

* Add requirement/condition.

* Add skip conditional target state.

* Update schemas.

* Add tests.

* Fix format.

* Update changelog.

* Fix tests.

* Fix windows.
* Change logs.

* Use starbase.

* Polish.

* Fix format.

* Fixes.
* Update.

* Bump proto.

* Bump.
* Add blog.

* Update docs.

* Update skill.

* Polish.

* Add image.
@milesj
milesj marked this pull request as ready for review July 5, 2026 16:41
Copilot AI review requested due to automatic review settings July 5, 2026 16:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@milesj
milesj merged commit 9ea5798 into master Jul 5, 2026
42 checks passed
@milesj
milesj deleted the develop-2.4 branch July 5, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants