Skip to content

feat: Evaluate task-based tool installation vs. GitHub Actions for tools like uv and nodejs #111

@coderabbitai

Description

@coderabbitai

Summary

A discussion in #110 raised the question of whether tools like uv (and potentially nodejs) should be installed via task scripts rather than dedicated GitHub composite Actions.

Context

In #110 (comment), @davidlion suggested that for tools which are relatively easy for us to manage ourselves (e.g., uv, rust), we could create task scripts to install and set up the environment — similar to how CLP handles rust. This approach would benefit both local builds and CI pipelines equally, while CI composite actions would be reserved for tools that users are expected to manage themselves.

@davidlion also noted that the toolchain code from CLP probably should eventually be moved into yscope-dev-utils.

@Bill-hbrhbr noted several advantages of the current approach using pipx and GitHub Actions (see CLP #1320):

  • pipx avoids modifying system directories; prepending the pipx bin path to PATH ensures correct version priority.
  • GitHub Actions remove the need to handle runner environment differences, user/group handling, partial script invocation, and sudo.
  • setup-task and setup-uv are published by their respective maintainers, making them reliable dependencies.

Additionally, nodejs is being considered for addition to toolchains.

Discussion Points

  • Should tools like uv be installed via task scripts to unify local and CI setup?
  • Which tools are best managed via GitHub composite Actions vs. task scripts?
  • Should CLP's toolchain task scripts be migrated to yscope-dev-utils?

References

Opened by @Bill-hbrhbr.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions