Skip to content

Configure task dependencies to avoid redundant execution #158

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

Merged
merged 1 commit into from
May 20, 2025

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented May 20, 2025

The Task task runner tool is used to perform common development operations for this project.

Tasks may call other tasks. Under certain conditions (most commonly when running a convenience "umbrella" which calls all tasks of a general type), this can result in the same task being called redundantly, which is inefficient. Worse, since task calls specified via the deps mapping of a task definition are executed concurrently, the multiple executions can conflict with each other and cause problems such as a spurious failure.

This can be avoided by configuring tasks which may be called multiple times, and for which it never makes sense to execute multiple times with the same conditions, so that all but the first call will be ignored:

https://taskfile.dev/usage/#limiting-when-tasks-run

The "Task" task runner tool is used to perform common development operations for this project.

Tasks may call other tasks. Under certain conditions (most commonly when running a convenience "umbrella" which calls
all tasks of a general type), this can result in the same task being called redundantly, which is inefficient. Worse,
since task calls specified via the `deps` mapping of a task definition are executed concurrently, the multiple
executions can conflict with each other and cause problems such as a spurious failure.

This can be avoided by configuring tasks which may be called multiple times, and for which it never makes sense to
execute multiple times with the same conditions, so that all but the first call will be ignored.
@per1234 per1234 self-assigned this May 20, 2025
@per1234 per1234 added type: enhancement Proposed improvement topic: infrastructure Related to project infrastructure labels May 20, 2025
@per1234 per1234 merged commit 1cf52a6 into arduino:master May 20, 2025
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant