Skip to content

Implement dynamic CI job selection on rust-lang/rust #104

Closed
@Kobzol

Description

@Kobzol

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedWe would appreciate help from outside contributors.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions