canonical / canonical/spread

Add an equivalent to github's "uses" directive

Open
#262 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
127
Forks
81
PR merge metrics
No merged PRs in 30d

Description

Currently with spread we'd need to replicate a library of scripts across repos, or obtain the scripts from a central place (git repo, snap, etc.) as part of e.g. backend-prepare.

There are a few problems with this approach:
- Different groups of devs are unlikely to discover each other's helper scripts.
- Reusing existing scripts means the author of spread.yaml need to also install all the (implicit) deps of the scripts they are reusing.

It would be handy if:
1. spread users had guidelines on how to design recipes so they are usable by others;
2. spread had a place to register and discover reusable recipes.

References:
- Github's [`uses` directive](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstepsuses).
- [pre-commit hooks](https://github.com/pre-commit/pre-commit-hooks/tree/main/pre_commit_hooks), a centralized repo for scripts which depend on pystdlib and `pre_commit_hooks.util` only.
- A naive concept for [reusable recipes using justfile](https://github.com/sed-i/reusable-justfiles/blob/main/charm-dev/ubuntu-24.04.just).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.