Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meta: Require MCP and relevant team nominations for adding (ecosystem, custom codegen backend) testing jobs that would block PR/Merge CI and require documenting failure protocol #137960

Open
jieyouxu opened this issue Mar 3, 2025 · 4 comments
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself C-discussion Category: Discussion or questions that doesn't represent real issues. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Comments

@jieyouxu
Copy link
Member

jieyouxu commented Mar 3, 2025

Note: This is intended to be an approximation to cross-team MCPs1.

I'm proposing a new rust-lang/rust policy (it's drafted as a compiler MCP but with multiple team nominations) that we require MCP and relevant team nominations for adding (ecosystem, custom codegen backend) testing jobs that would block PR/Merge CI and require documenting failure protocol.

Please let me know if nominated relevant teams have suggestions, concerns or other feedback.

There's no I-{team}-nominated labels for some teams, so I'll have to do it manually (sorry):

  • cc @rust-lang/rustdoc
  • cc @rust-lang/bootstrap
  • cc @rust-lang/infra

Footnotes

  1. https://rust-lang.zulipchat.com/#narrow/channel/486433-all-hands-2025/topic/Project-scope.20MCP

@jieyouxu jieyouxu added I-libs-nominated Nominated for discussion during a libs team meeting. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Mar 3, 2025
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Mar 3, 2025
@jieyouxu jieyouxu added A-meta Area: Issues & PRs about the rust-lang/rust repository itself C-discussion Category: Discussion or questions that doesn't represent real issues. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. I-libs-nominated Nominated for discussion during a libs team meeting. and removed T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. I-libs-nominated Nominated for discussion during a libs team meeting. needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Mar 3, 2025
@the8472 the8472 removed the I-libs-nominated Nominated for discussion during a libs team meeting. label Mar 5, 2025
@the8472
Copy link
Member

the8472 commented Mar 5, 2025

We discussed this during a libs meeting. We're in favor of having an explicit process to be notified when such jobs are added.

We would also like that process to contain a step where it must outlined what such a project is depending on so we can better understand what we're getting into.
Are they using unstable features? Do they knowingly depend on implementation details? Do they plan to expand or shrink such dependencies at a later point?

The proposed policy doesn't seem to discuss non-blocking jobs. Is it expected that there'll be a trial period before it's made blocking?

@jieyouxu
Copy link
Member Author

jieyouxu commented Mar 5, 2025

The proposed policy doesn't seem to discuss non-blocking jobs. Is it expected that there'll be a trial period before it's made blocking?

The reason the policy doesn't discuss non-blocking jobs is that I feel like it's less of a blocker than... blocking test jobs.

  • For blocking test jobs, you can't cc/ping the relevant test job owners after PR/Merge CI if you feel like the test job failure is not worth blocking PR/Merge CI. The PR author must deal with the failure (themselves or need to wait for other contributors or test job owners to help) if they want the PR to be possible to merge.

However, I can appreciate that it's still concerning to see a failure message from a failed job even if it's post PR CI or post Merge CI.

Good points regarding the outline for asking the test job owners "what do you want from the test job and what do you depend on", I'll amend the MCP draft to include this request.

@the8472
Copy link
Member

the8472 commented Mar 5, 2025

I asked about non-blocking jobs because the phrasing "adding blocking jobs" is unclear whether they're immediately added as blocking or whether there's a non-blocking period before that where we check how often it breaks.

@jieyouxu
Copy link
Member Author

jieyouxu commented Mar 5, 2025

Ah. I have not considered a grace period (or rather, transition from non-blocking -> blocking). I think I'll add that as a question (does the test job owners want to add the test job as immediately-blocking, non-blocking first but transition to blocking after some time, or perma non-blocking) that the test job owner is requested to answer.

I'll probably need to reword this as all testing jobs then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself C-discussion Category: Discussion or questions that doesn't represent real issues. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

3 participants