Install action runners as Python packages, utilize dynamic runner loading and enumeration
Open
@Kami is already working on this.
Since Nov 15, 2017.
complexity:medium
enhancement
- Dominant language
- Python
- Stars
- 6.5k
- Forks
- 787
- PR merge metrics
- No merged PRs in 30d
Description
A bunch of changes have been made so action runners are now fully blown Python packages.
This means they can be installed using pip (same thing as we do with auth backends).
We should make the following updates to utilize this new functionality:
- Build Python packages (wheels) for runners
- Update cicd and other workflows and scripts to install them as Python package in the same manner was we install auth backends
- Update runner registrar code to utilize dynamic enumeration of available / installed runners (right now it does on disk based introspection, but we should use stevedore "available drivers" mechanism)
- Document the changes, document how to install custom runner using pip from PyPi / git (e.g. CloudSlang one)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.