build: dist: defer PlainSourceTarball
Apparently it changes some tool sources and invalidates their fingerprints, forcing us to build them several times (before and after vendoring sources). I have not dug into why vendoring actually invalidates the figreprints, but the moving the vendoring lower in the pipeline seems to avoid the issue. I could imagine that we somehow write a .cargo/config somewhere which somehow makes subsequent builds use the vendored deps but I was not able to find anything. I checked the sizes of generated archives pre and post patch and their are the same, so I hope there is not functional change. Fixes #93033
This commit is contained in:
parent
7531d2fdd4
commit
5f58a78da0
1 changed files with 5 additions and 1 deletions
|
|
@ -495,7 +495,6 @@ impl<'a> Builder<'a> {
|
|||
dist::RustcDev,
|
||||
dist::Analysis,
|
||||
dist::Src,
|
||||
dist::PlainSourceTarball,
|
||||
dist::Cargo,
|
||||
dist::Rls,
|
||||
dist::RustAnalyzer,
|
||||
|
|
@ -506,6 +505,11 @@ impl<'a> Builder<'a> {
|
|||
dist::LlvmTools,
|
||||
dist::RustDev,
|
||||
dist::Extended,
|
||||
// It seems that PlainSourceTarball somehow changes how some of the tools
|
||||
// perceive their dependencies (see #93033) which would invaliate fingerprints
|
||||
// and force us to rebuild tools after vendoring dependencies.
|
||||
// To work around this, create the Tarball after building all the tools.
|
||||
dist::PlainSourceTarball,
|
||||
dist::BuildManifest,
|
||||
dist::ReproducibleArtifacts,
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue