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.
Summary
A discussion in #110 raised the question of whether tools like
uv(and potentiallynodejs) 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
pipxand GitHub Actions (see CLP #1320):pipxavoids modifying system directories; prepending the pipx bin path toPATHensures correct version priority.sudo.setup-taskandsetup-uvare published by their respective maintainers, making them reliable dependencies.Additionally,
nodejsis being considered for addition to toolchains.Discussion Points
uvbe installed via task scripts to unify local and CI setup?yscope-dev-utils?References
actions/checkoutto v6.0.2. #110actions/checkoutto v6.0.2. #110 (comment)Opened by @Bill-hbrhbr.