-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Making alt build available together with Nightly #45334
Labels
T-infra
Relevant to the infrastructure team, which will review and decide on the PR/issue.
Comments
SimonSapin
added a commit
to servo/servo
that referenced
this issue
Oct 17, 2017
See https://internals.rust-lang.org/t/updates-on-rusts-ci-uploads/6062 Alt builds are still only available at ephemeral URLs for now: rust-lang/rust#45334
Hmm maybe |
aturon
added
I-nominated
T-infra
Relevant to the infrastructure team, which will review and decide on the PR/issue.
labels
Oct 17, 2017
cc @rust-lang/infra, nominating for discussion in tomorrow's meeting. |
SimonSapin
added a commit
to SimonSapin/rust-central-station
that referenced
this issue
Oct 28, 2017
Nightly builds are archived under `https://static.rust-lang.org/dist/{date}/`. This adds a new `alt/` subdirectory containing: * `rustc-nightly-x86_64-apple-darwin.tar.gz` * `rustc-nightly-x86_64-unknown-linux-gnu.tar.gz` * `rustc-nightly-x86_64-pc-windows-msvc.tar.gz` copied from `s3://rust-lang-ci2/rustc-builds-alt/`. These are alternative builds of rustc with LLVM assertions disabled, which reduces testing coverage but improves compiler performance. This adds these resources to those that are considered “stable and public” per https://internals.rust-lang.org/t/public-stable-rust-services/6072. For the latest Nightly they take up 143 MiB. At current S3 pricing, this increases the cost of storing 10 years worth of Nightlies by 14 USD per month. This fixes rust-lang/rust#45334 and will enable Servo’s build system to stop relying on private and ephemeral resources.
Seems like progress is being made in https://internals.rust-lang.org/t/disabling-llvm-assertions-in-nightly-builds/5388/14 |
#45810 makes this obsolete. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In https://internals.rust-lang.org/t/updates-on-rusts-ci-uploads/6062 I found out that the
rust-lang-ci
S3 bucket, which Servo relies on, is ephemeral. Only nigthlies are kept around long-term. I’ll switch Servo to download fromhttp://static.rust-lang.org/dist/
where possible, but there’s one thing missing: tarballs for rustc "alt" builds. I’d like to have these somewhere where they’ll stay available.I assume that the reason for removing old files from
rust-lang-ci
/rust-lang-ci2
is the cost in storage space for many build artifacts for every single merged PR. So this proposal limits the amount of files to keep:First, we could limit the amount of files uploaded to
rust-lang-ci2/rustc-builds-alt
in the first place. Based on runningaws s3 ls --no-sign-request
, CI produces:cargo-nightly-$HOST.tar.$Z
rls-nightly-$HOST.tar.$Z
rust-analysis-nightly-$HOST.tar.$Z
rustc-nightly-$HOST.tar.$Z
rustc-nightly-src.tar.$Z
rust-docs-nightly-$HOST.tar.$Z
rust-nightly-$HOST.exe
rust-nightly-$HOST.msi
rust-nightly-$HOST.pkg
rust-nightly-$HOST.tar.$Z
rust-src-nightly.tar.$Z
rust-std-nightly-$HOST.tar.$Z
… for each combination of
$Z
ingz
orxz
, and$HOST
inx86_64-apple-darwin
,x86_64-pc-windows-msvc
, andx86_64-unknown-linux-gnu
.Everything other than
rustc-nightly-$HOST.tar.$Z
is identical inrustc-builds
andrustc-builds-alt
. So it could be dropped or not uploaded in the first place or not not built in the first place. This probably involves makingsrc/ci/docker/dist-x86_64-linux/Dockerfile
do things more differently when theDEPLOY_ALT
env variable is set.(Perhaps
gz
can be dropped too? Old rustup versions that don’t supportxz
don’t support fetching alt builds either.)Separately, https://github.com/rust-lang/rust-central-station/blob/master/promote-release/src/main.rs (at least) needs to be modified to copy/upload these extra tarballs. I don’t know if it’s preferable to do this when
self.release == "nightly"
or in a separate cron job withself.release == "nightly-alt"
.Ultimately this will also be a step toward rust-lang/rustup#1099, but Servo can already use this in the meantime.
@aturon, @alexcrichton, how does this all sound?
The text was updated successfully, but these errors were encountered: