Description
Currently, the CI workflow of rust-lang/rust
contains many separate jobs. Most of them run on master
(so called auto
) builds, but there is also a hardcoded try
job that runs the x64 Linux dist
job. This try
job can be started with the @bors try
command on PRs.
In many cases, contributors want to execute a specific CI job from this large workflow on a PR, however this is currently not easy. In the future, we would like to make this much easier, by adding support in bors
to run an arbitrary CI job on a try build. However, for that to work, the workflow has to be able to be executed (e.g. by GitHub API) in a way that allows selecting a specific job(s) to run, which is currently not possible.
It would be great to modify the workflow so that it allows selecting the job that should be run. The workflow is dynamically generated
from this file. It could be modified e.g. so that it includes a list of all the available jobs, and allows selecting them based on some input parameter decided when the workflow is launched (e.g. workflow_dispatch
?). In other words, it has to be possible to use either the GH API or a commit push to decide what job will be executed.
This should be made easier by the fact that most jobs are mostly identified simply by their name, and the rest of the CI scripts perform different actions based on the name of the job.