Skip to content

Tracking issue for auditing and possibly eliminating difference between PR CI and Auto CI jobs #144259

Description

@jieyouxu

Currently, rust-lang/rust PR jobs are not a subset of Auto jobs in the strict sense. That is, a defined PR job does not imply it is run with the exact same configuration in Auto CI.

Why might this be a problem?

When there are CI jobs (or job configurations) that are PR-only, and not also run as part of Auto jobs, it's possible to have master end up in a state where all subsequent PR jobs will be red, even in unrelated PRs. See for instance #144183 and discussions in #t-infra > Spellcheck workflow now fails on all PRs (tree bad?).

Potentially ideal CI invariant

Ideally, we may want to enforce the CI invariant that PR CI jobs are a subset of Full CI jobs in the strict-sense, with no carve-outs (other than fail-fast or not).

Kinds of differences

Warning

This listing is non-exhaustive. Please feel free to add more known differences.

Implementation history

Non-blocking jobs

It was discussed that we should use/implement toolstate or some other mechanism for experimental jobs, and not expose contributors to failing PR CI if said job does break.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-CIArea: Our Github Actions CIC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCT-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions