Open
Description
We would like to get rid of the rust-lang-ci organization, which should no longer be needed:
- We can now configure secrets on GH per branch, so we can configure secrets only for the auto and try branches, not for all CI.
- We get 500 concurrent jobs across all repos in the rust-lang organization, so that should be enough to run all CI in a single org.
- We no longer use self-hosted runners.
The following (probably non-exhaustive) list below tracks what needs to be done to get rid of rust-lang-ci
:
- Configure secrets for the
auto
andtry
branches onrust-lang/rust
.- This could be done either using GitHub environments or using AWS OIDC.
- Once we get rid of homu, we could get rid of all secrets and use AWS OIDCS for everything.
- Set GitHub environments secrets in rust-lang-ci. Edit r-l/r to use GitHub environments secrets (maybe the secrets can be called differently from the repository secrets so that they don't collide) and test a dry run job. The goal is to make sure that the CI works well with environments before the migration. Consider doing the migration to environment secrets before moving off rust-lang-ci. I.e. making rust-lang-ci work with environment secrets instead of repository secrets.
- Add bors environment to CI rust#141323
- Make sure that the homu
bors
GitHub account has access to theauto
andtry
branches onrust-lang/rust
.- Make sure that
homu
can actually force-push these branches. (Move off rust-lang-ci #188 (comment))
- Make sure that
- Create
try-perf
andperf-tmp
branches/branch protections inrust-lang/rust
.- Add support for
rust-timer
merge bot andtry-perf
/perf-tmp
branch protections team#1828 - Make sure that the rustbot
rust-timer
GitHub account can force-push these branches. (Move off rust-lang-ci #188 (comment)) - (Maybe move the unrolling logic from rustc-perf into rustbot or bots? But that's unrelated.)
- Add support for
- Switch CI to use Docker ghcr.io caches from the
rust-lang
organization - Test if CI works on the
try
andauto
branches and if it can access environment secrets. - Modify codebuild to account for the repository switch.
- Reconfigure homu to avoid using the
rust-lang-ci
fork (configured here) and redeploy homu - probably the scariest part.- Move bors CI jobs from rust-lang-ci to rust-lang homu#233 - this is the PR that will do the actual move off rust-lang-ci.
- Update downstream projects
- https://github.com/rust-lang/rustc-perf
- [do not merge] Use
rust-lang
instead ofrust-lang-ci
for all commits rustc-perf#2023 - I think that we can proactively switch to rust-lang here. Old try build links will not work (because these will be only in rust-lang-ci), but old merge links should work, as the merge commits should be both in rust-lang and rust-lang-ci.
- [do not merge] Use
- https://github.com/rust-lang/team
- https://github.com/rust-lang/cargo-bisect-rustc
- https://github.com/rust-lang/simpleinfra
- https://github.com/rust-lang/rustc-perf
- revert Move
dist-x86_64-linux
CI job to GitHub temporarily rust#141388 AND change the try build to run on codebuild as well https://github.com/rust-lang/rust/blob/1d679446b01e65f9bc9ae609d0ae1e4a9c0ccaa3/src/ci/github-actions/jobs.yml#L131
This idea was discussed on Zulip.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Ready