Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new: Support task scripts (as an alternative to commands). #1530

Merged
merged 9 commits into from
Jul 15, 2024

Conversation

milesj
Copy link
Collaborator

@milesj milesj commented Jun 28, 2024

Tried to bring this functionality into commands, but it cause a lot of issues. Keeping the separation is nice.

Copy link

github-actions bot commented Jul 15, 2024

Run report for c5a73f5b (ubuntu-latest, 20)

Total time: 2m 56s | Comparison time: 4m 55s | Estimated savings: 1m 58s (40.2% faster)

Action Time Status Info
🟩 SyncWorkspace 29.9ms Passed
🟩 SetupToolchain(node:~20) 23.3s Passed
🟩 SyncProject(node, types) 4.6ms Passed
🟩 SyncProject(node, runtime) 3.7ms Passed
🟩 SyncProject(node, report) 5.1ms Passed
🟩 SyncProject(node, website) 4.2ms Passed
🟩 SyncProject(node, nx-compat) 12.1ms Passed
🟩 InstallWorkspaceDeps(node:~20) 43.1s Passed
🟦 RunTask(types:typecheck) 1.1s Cached
🟦 RunTask(types:lint) 1.4s Cached
🟦 RunTask(types:build) 1.4s Cached
🟩 RunTask(types:format) 1.7s Passed
🟦 RunTask(types:test) 699.6ms Cached
🟦 RunTask(nx-compat:build) 683.9ms Cached
🟦 RunTask(nx-compat:lint) 713.6ms Cached
🟦 RunTask(nx-compat:test) 629.4ms Cached
🟩 RunTask(nx-compat:format) 1s Passed
🟦 RunTask(nx-compat:typecheck) 614ms Cached
🟦 RunTask(report:build) 623.7ms Cached
🟦 RunTask(runtime:build) 640ms Cached
And 13 more...
Expanded report
Action Time Status Info
🟩 RunTask(report:format) 876ms Passed
🟦 RunTask(report:lint) 600.7ms Cached
🟦 RunTask(report:typecheck) 569.9ms Cached
🟦 RunTask(runtime:lint) 578.9ms Cached
🟦 RunTask(report:test) 915.6ms Cached
🟩 RunTask(runtime:format) 670.8ms Passed
🟦 RunTask(runtime:typecheck) 629ms Cached
🟦 RunTask(runtime:test) 666.5ms Cached
🟦 RunTask(website:typecheck) 918.8ms Cached
🟦 RunTask(website:lint) 917.6ms Cached
🟦 RunTask(website:test) 649.4ms Cached
🟩 RunTask(website:format) 9.8s Passed
🟩 RunTask(website:build) 1m 46s Passed
Environment

OS: Linux
Matrix:

os = ubuntu-latest
node-version = 20
Touched files
.github/workflows/rust.yml
Cargo.lock
crates/app/src/commands/project.rs
crates/app/src/commands/task.rs
crates/cli/tests/run_bun_test.rs
crates/cli/tests/run_deno_test.rs
crates/cli/tests/run_node_test.rs
crates/cli/tests/run_rust_test.rs
crates/cli/tests/run_test.rs
crates/cli/tests/snapshots/run_bun_test__bun__runs_script_task.snap
crates/cli/tests/snapshots/run_deno_test__deno__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__bun__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__npm__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__pnpm__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__yarn1__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__yarn__runs_script_task.snap
crates/cli/tests/snapshots/run_rust_test__runs_script_task.snap
crates/cli/tests/snapshots/run_test__dependencies__changes_primary_hash_if_deps_hash_changes.snap
crates/cli/tests/snapshots/run_test__dependencies__generates_unique_hashes_for_each_target.snap
crates/cli/tests/snapshots/run_test__output_styles__hash.snap
crates/cli/tests/snapshots/run_test__task_scripts__doesnt_passthrough_args.snap
crates/cli/tests/snapshots/run_test__task_scripts__supports_multiple_commands.snap
crates/cli/tests/snapshots/run_test__task_scripts__supports_pipes.snap
crates/common/src/consts.rs
crates/config/src/project/task_config.rs
crates/config/tests/task_config_test.rs
crates/project-expander/Cargo.toml
crates/project-expander/src/tasks_expander.rs
crates/project-expander/src/token_expander.rs
crates/project-expander/tests/token_expander_test.rs
crates/task-builder/src/tasks_builder.rs
crates/task-builder/tests/__fixtures__/builder/scripts/moon.yml
crates/task-builder/tests/tasks_builder_test.rs
crates/task-hasher/src/task_hash.rs
crates/task-runner/src/command_builder.rs
crates/task-runner/src/command_executor.rs
crates/task-runner/src/task_runner.rs
crates/task/src/task.rs
crates/test-utils/src/sandbox.rs
legacy/core/test-utils/src/configs.rs
packages/cli/CHANGELOG.md
packages/types/src/tasks-config.ts
tests/fixtures/bun-node-pm/bun/moon.yml
tests/fixtures/bun-node-pm/node/moon.yml
tests/fixtures/bun/base/moon.yml
tests/fixtures/cases/task-script/args.sh
tests/fixtures/cases/task-script/moon.yml
tests/fixtures/deno/base/moon.yml
tests/fixtures/node-bun/workspaces/base/moon.yml
tests/fixtures/node-npm/workspaces/base/moon.yml
tests/fixtures/node-pnpm/workspaces/base/moon.yml
tests/fixtures/node-yarn/workspaces/base/moon.yml
tests/fixtures/node-yarn1/workspaces/base/moon.yml
tests/fixtures/node/base/moon.yml
tests/fixtures/rust/cases/moon.yml
website/docs/concepts/task.mdx
website/docs/config/project.mdx
website/docs/faq.mdx
website/docs/how-it-works/languages.mdx
website/docs/setup-workspace.mdx
website/static/schemas/project.json
website/static/schemas/tasks.json

Copy link

github-actions bot commented Jul 15, 2024

Run report for c5a73f5b (ubuntu-latest, 18)

Total time: 2m 55s | Comparison time: 4m 54s | Estimated savings: 1m 58s (40.4% faster)

Action Time Status Info
🟩 SyncWorkspace 27.6ms Passed
🟩 SetupToolchain(node:~18) 23.1s Passed
🟩 SyncProject(node, types) 3.1ms Passed
🟩 SyncProject(node, nx-compat) 3ms Passed
🟩 SyncProject(node, runtime) 2.9ms Passed
🟩 SyncProject(node, website) 3.4ms Passed
🟩 SyncProject(node, report) 10.4ms Passed
🟩 InstallWorkspaceDeps(node:~18) 43.6s Passed
🟦 RunTask(types:build) 982.8ms Cached
🟦 RunTask(types:typecheck) 1.3s Cached
🟦 RunTask(types:lint) 1.3s Cached
🟩 RunTask(types:format) 1.4s Passed
🟦 RunTask(types:test) 703.2ms Cached
🟦 RunTask(runtime:typecheck) 702.6ms Cached
🟦 RunTask(report:test) 563.3ms Cached
🟦 RunTask(runtime:build) 657.6ms Cached
🟦 RunTask(report:build) 636ms Cached
🟦 RunTask(report:lint) 617ms Cached
🟩 RunTask(report:format) 891.3ms Passed
🟦 RunTask(nx-compat:lint) 905.3ms Cached
And 13 more...
Expanded report
Action Time Status Info
🟦 RunTask(nx-compat:build) 630.1ms Cached
🟦 RunTask(report:typecheck) 562.2ms Cached
🟩 RunTask(nx-compat:format) 974.7ms Passed
🟩 RunTask(runtime:format) 788ms Passed
🟦 RunTask(runtime:lint) 809.4ms Cached
🟦 RunTask(runtime:test) 597.8ms Cached
🟦 RunTask(website:typecheck) 606.5ms Cached
🟦 RunTask(nx-compat:typecheck) 709ms Cached
🟦 RunTask(nx-compat:test) 832.1ms Cached
🟦 RunTask(website:lint) 716.9ms Cached
🟦 RunTask(website:test) 994.7ms Cached
🟩 RunTask(website:format) 10.5s Passed
🟩 RunTask(website:build) 1m 44s Passed
Environment

OS: Linux
Matrix:

os = ubuntu-latest
node-version = 18
Touched files
.github/workflows/rust.yml
Cargo.lock
crates/app/src/commands/project.rs
crates/app/src/commands/task.rs
crates/cli/tests/run_bun_test.rs
crates/cli/tests/run_deno_test.rs
crates/cli/tests/run_node_test.rs
crates/cli/tests/run_rust_test.rs
crates/cli/tests/run_test.rs
crates/cli/tests/snapshots/run_bun_test__bun__runs_script_task.snap
crates/cli/tests/snapshots/run_deno_test__deno__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__bun__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__npm__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__pnpm__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__yarn1__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__yarn__runs_script_task.snap
crates/cli/tests/snapshots/run_rust_test__runs_script_task.snap
crates/cli/tests/snapshots/run_test__dependencies__changes_primary_hash_if_deps_hash_changes.snap
crates/cli/tests/snapshots/run_test__dependencies__generates_unique_hashes_for_each_target.snap
crates/cli/tests/snapshots/run_test__output_styles__hash.snap
crates/cli/tests/snapshots/run_test__task_scripts__doesnt_passthrough_args.snap
crates/cli/tests/snapshots/run_test__task_scripts__supports_multiple_commands.snap
crates/cli/tests/snapshots/run_test__task_scripts__supports_pipes.snap
crates/common/src/consts.rs
crates/config/src/project/task_config.rs
crates/config/tests/task_config_test.rs
crates/project-expander/Cargo.toml
crates/project-expander/src/tasks_expander.rs
crates/project-expander/src/token_expander.rs
crates/project-expander/tests/token_expander_test.rs
crates/task-builder/src/tasks_builder.rs
crates/task-builder/tests/__fixtures__/builder/scripts/moon.yml
crates/task-builder/tests/tasks_builder_test.rs
crates/task-hasher/src/task_hash.rs
crates/task-runner/src/command_builder.rs
crates/task-runner/src/command_executor.rs
crates/task-runner/src/task_runner.rs
crates/task/src/task.rs
crates/test-utils/src/sandbox.rs
legacy/core/test-utils/src/configs.rs
packages/cli/CHANGELOG.md
packages/types/src/tasks-config.ts
tests/fixtures/bun-node-pm/bun/moon.yml
tests/fixtures/bun-node-pm/node/moon.yml
tests/fixtures/bun/base/moon.yml
tests/fixtures/cases/task-script/args.sh
tests/fixtures/cases/task-script/moon.yml
tests/fixtures/deno/base/moon.yml
tests/fixtures/node-bun/workspaces/base/moon.yml
tests/fixtures/node-npm/workspaces/base/moon.yml
tests/fixtures/node-pnpm/workspaces/base/moon.yml
tests/fixtures/node-yarn/workspaces/base/moon.yml
tests/fixtures/node-yarn1/workspaces/base/moon.yml
tests/fixtures/node/base/moon.yml
tests/fixtures/rust/cases/moon.yml
website/docs/concepts/task.mdx
website/docs/config/project.mdx
website/docs/faq.mdx
website/docs/how-it-works/languages.mdx
website/docs/setup-workspace.mdx
website/static/schemas/project.json
website/static/schemas/tasks.json

Copy link

github-actions bot commented Jul 15, 2024

Run report for c5a73f5b (windows-latest, 20)

Total time: 3m 32s | Comparison time: 5m 7s | Estimated savings: 1m 34s (30.8% faster)

Action Time Status Info
🟩 SyncWorkspace 31.1ms Passed
🟩 SetupToolchain(node:~20) 28.8s Passed
🟩 SyncProject(node, types) 4.3ms Passed
🟩 SyncProject(node, nx-compat) 6ms Passed
🟩 SyncProject(node, report) 6.4ms Passed
🟩 SyncProject(node, runtime) 6.9ms Passed
🟩 SyncProject(node, website) 4.5ms Passed
🟩 InstallWorkspaceDeps(node:~20) 1m 2s Passed
🟦 RunTask(types:build) 794ms Cached
🟦 RunTask(types:lint) 913.4ms Cached
🟦 RunTask(types:typecheck) 917ms Cached
🟦 RunTask(types:test) 567.2ms Cached
🟦 RunTask(nx-compat:build) 658.6ms Cached
🟦 RunTask(nx-compat:test) 496.1ms Cached
🟩 RunTask(types:format) 2.3s Passed
🟦 RunTask(nx-compat:typecheck) 628.4ms Cached
🟦 RunTask(runtime:build) 524.3ms Cached
🟩 RunTask(nx-compat:format) 2.1s Passed
🟦 RunTask(report:build) 481.7ms Cached
🟦 RunTask(runtime:typecheck) 449.5ms Cached
And 13 more...
Expanded report
Action Time Status Info
🟦 RunTask(report:typecheck) 422.2ms Cached
🟩 RunTask(report:format) 2.4s Passed
🟦 RunTask(runtime:lint) 440.6ms Cached
🟦 RunTask(report:lint) 413.1ms Cached
🟦 RunTask(runtime:test) 468ms Cached
🟦 RunTask(report:test) 571.8ms Cached
🟦 RunTask(nx-compat:lint) 411.3ms Cached
🟩 RunTask(runtime:format) 1.6s Passed
🟦 RunTask(website:typecheck) 471.8ms Cached
🟦 RunTask(website:test) 994.6ms Cached
🟦 RunTask(website:lint) 1s Cached
🟩 RunTask(website:format) 12.8s Passed
🟩 RunTask(website:build) 1m 56s Passed
Environment

OS: Windows
Matrix:

os = windows-latest
node-version = 20
Touched files
.github/workflows/rust.yml
Cargo.lock
crates/app/src/commands/project.rs
crates/app/src/commands/task.rs
crates/cli/tests/run_bun_test.rs
crates/cli/tests/run_deno_test.rs
crates/cli/tests/run_node_test.rs
crates/cli/tests/run_rust_test.rs
crates/cli/tests/run_test.rs
crates/cli/tests/snapshots/run_bun_test__bun__runs_script_task.snap
crates/cli/tests/snapshots/run_deno_test__deno__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__bun__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__npm__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__pnpm__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__yarn1__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__yarn__runs_script_task.snap
crates/cli/tests/snapshots/run_rust_test__runs_script_task.snap
crates/cli/tests/snapshots/run_test__dependencies__changes_primary_hash_if_deps_hash_changes.snap
crates/cli/tests/snapshots/run_test__dependencies__generates_unique_hashes_for_each_target.snap
crates/cli/tests/snapshots/run_test__output_styles__hash.snap
crates/cli/tests/snapshots/run_test__task_scripts__doesnt_passthrough_args.snap
crates/cli/tests/snapshots/run_test__task_scripts__supports_multiple_commands.snap
crates/cli/tests/snapshots/run_test__task_scripts__supports_pipes.snap
crates/common/src/consts.rs
crates/config/src/project/task_config.rs
crates/config/tests/task_config_test.rs
crates/project-expander/Cargo.toml
crates/project-expander/src/tasks_expander.rs
crates/project-expander/src/token_expander.rs
crates/project-expander/tests/token_expander_test.rs
crates/task-builder/src/tasks_builder.rs
crates/task-builder/tests/__fixtures__/builder/scripts/moon.yml
crates/task-builder/tests/tasks_builder_test.rs
crates/task-hasher/src/task_hash.rs
crates/task-runner/src/command_builder.rs
crates/task-runner/src/command_executor.rs
crates/task-runner/src/task_runner.rs
crates/task/src/task.rs
crates/test-utils/src/sandbox.rs
legacy/core/test-utils/src/configs.rs
packages/cli/CHANGELOG.md
packages/types/src/tasks-config.ts
tests/fixtures/bun-node-pm/bun/moon.yml
tests/fixtures/bun-node-pm/node/moon.yml
tests/fixtures/bun/base/moon.yml
tests/fixtures/cases/task-script/args.sh
tests/fixtures/cases/task-script/moon.yml
tests/fixtures/deno/base/moon.yml
tests/fixtures/node-bun/workspaces/base/moon.yml
tests/fixtures/node-npm/workspaces/base/moon.yml
tests/fixtures/node-pnpm/workspaces/base/moon.yml
tests/fixtures/node-yarn/workspaces/base/moon.yml
tests/fixtures/node-yarn1/workspaces/base/moon.yml
tests/fixtures/node/base/moon.yml
tests/fixtures/rust/cases/moon.yml
website/docs/concepts/task.mdx
website/docs/config/project.mdx
website/docs/faq.mdx
website/docs/how-it-works/languages.mdx
website/docs/setup-workspace.mdx
website/static/schemas/project.json
website/static/schemas/tasks.json

Copy link

github-actions bot commented Jul 15, 2024

Run report for c5a73f5b (windows-latest, 18)

Total time: 3m 24s | Comparison time: 4m 53s | Estimated savings: 1m 28s (30.3% faster)

Action Time Status Info
🟩 SyncWorkspace 32.8ms Passed
🟩 SetupToolchain(node:~18) 28.8s Passed
🟩 SyncProject(node, types) 4ms Passed
🟩 SyncProject(node, nx-compat) 5.3ms Passed
🟩 SyncProject(node, report) 5.6ms Passed
🟩 SyncProject(node, runtime) 6.1ms Passed
🟩 SyncProject(node, website) 4.4ms Passed
🟩 InstallWorkspaceDeps(node:~18) 58.2s Passed
🟦 RunTask(types:lint) 654.9ms Cached
🟦 RunTask(types:typecheck) 766.3ms Cached
🟦 RunTask(types:build) 822.5ms Cached
🟦 RunTask(types:test) 445.1ms Cached
🟦 RunTask(nx-compat:build) 646.1ms Cached
🟦 RunTask(nx-compat:lint) 481.9ms Cached
🟦 RunTask(nx-compat:typecheck) 427.2ms Cached
🟩 RunTask(types:format) 2.2s Passed
🟦 RunTask(nx-compat:test) 735.7ms Cached
🟦 RunTask(runtime:build) 582.6ms Cached
🟩 RunTask(nx-compat:format) 1.9s Passed
🟦 RunTask(report:build) 565.9ms Cached
And 13 more...
Expanded report
Action Time Status Info
🟦 RunTask(report:lint) 445.2ms Cached
🟦 RunTask(report:test) 458.8ms Cached
🟦 RunTask(report:typecheck) 550.9ms Cached
🟦 RunTask(runtime:lint) 419.3ms Cached
🟦 RunTask(runtime:test) 440.4ms Cached
🟦 RunTask(runtime:typecheck) 413.3ms Cached
🟩 RunTask(report:format) 1.9s Passed
🟦 RunTask(website:typecheck) 601.8ms Cached
🟩 RunTask(runtime:format) 1.5s Passed
🟦 RunTask(website:lint) 765.6ms Cached
🟦 RunTask(website:test) 678.5ms Cached
🟩 RunTask(website:format) 12.9s Passed
🟩 RunTask(website:build) 1m 53s Passed
Environment

OS: Windows
Matrix:

os = windows-latest
node-version = 18
Touched files
.github/workflows/rust.yml
Cargo.lock
crates/app/src/commands/project.rs
crates/app/src/commands/task.rs
crates/cli/tests/run_bun_test.rs
crates/cli/tests/run_deno_test.rs
crates/cli/tests/run_node_test.rs
crates/cli/tests/run_rust_test.rs
crates/cli/tests/run_test.rs
crates/cli/tests/snapshots/run_bun_test__bun__runs_script_task.snap
crates/cli/tests/snapshots/run_deno_test__deno__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__bun__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__npm__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__pnpm__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__yarn1__runs_script_task.snap
crates/cli/tests/snapshots/run_node_test__yarn__runs_script_task.snap
crates/cli/tests/snapshots/run_rust_test__runs_script_task.snap
crates/cli/tests/snapshots/run_test__dependencies__changes_primary_hash_if_deps_hash_changes.snap
crates/cli/tests/snapshots/run_test__dependencies__generates_unique_hashes_for_each_target.snap
crates/cli/tests/snapshots/run_test__output_styles__hash.snap
crates/cli/tests/snapshots/run_test__task_scripts__doesnt_passthrough_args.snap
crates/cli/tests/snapshots/run_test__task_scripts__supports_multiple_commands.snap
crates/cli/tests/snapshots/run_test__task_scripts__supports_pipes.snap
crates/common/src/consts.rs
crates/config/src/project/task_config.rs
crates/config/tests/task_config_test.rs
crates/project-expander/Cargo.toml
crates/project-expander/src/tasks_expander.rs
crates/project-expander/src/token_expander.rs
crates/project-expander/tests/token_expander_test.rs
crates/task-builder/src/tasks_builder.rs
crates/task-builder/tests/__fixtures__/builder/scripts/moon.yml
crates/task-builder/tests/tasks_builder_test.rs
crates/task-hasher/src/task_hash.rs
crates/task-runner/src/command_builder.rs
crates/task-runner/src/command_executor.rs
crates/task-runner/src/task_runner.rs
crates/task/src/task.rs
crates/test-utils/src/sandbox.rs
legacy/core/test-utils/src/configs.rs
packages/cli/CHANGELOG.md
packages/types/src/tasks-config.ts
tests/fixtures/bun-node-pm/bun/moon.yml
tests/fixtures/bun-node-pm/node/moon.yml
tests/fixtures/bun/base/moon.yml
tests/fixtures/cases/task-script/args.sh
tests/fixtures/cases/task-script/moon.yml
tests/fixtures/deno/base/moon.yml
tests/fixtures/node-bun/workspaces/base/moon.yml
tests/fixtures/node-npm/workspaces/base/moon.yml
tests/fixtures/node-pnpm/workspaces/base/moon.yml
tests/fixtures/node-yarn/workspaces/base/moon.yml
tests/fixtures/node-yarn1/workspaces/base/moon.yml
tests/fixtures/node/base/moon.yml
tests/fixtures/rust/cases/moon.yml
website/docs/concepts/task.mdx
website/docs/config/project.mdx
website/docs/faq.mdx
website/docs/how-it-works/languages.mdx
website/docs/setup-workspace.mdx
website/static/schemas/project.json
website/static/schemas/tasks.json

@milesj milesj marked this pull request as ready for review July 15, 2024 03:45
@milesj milesj merged commit 6fccbfa into develop-1.27 Jul 15, 2024
25 checks passed
@milesj milesj deleted the 1.27-task-script branch July 15, 2024 05:10
milesj added a commit that referenced this pull request Jul 15, 2024
* Add script field.

* Add builder tests.

* Test tokens.

* Fix cache.

* Fix lints.

* Fix tests.

* Add tests.

* Add tests.

* Update tests.
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.

1 participant