Skip to content

Cargo and some dependencies are compiled twice on CI #48223

Closed

Description

@alexcrichton

I noticed on the most recently timed out mipsel dist builder that Cargo, the library, was compiled twice. This is no small chunk of time!

Investigating it looks like a number of libraries were compiled at least twice, including: cargo, chrono, crates-io, docopt, env_logger, failure_derive, failure, num, serde_derive_internals, serde_derive, synstructure.

My guess is that the feature selection is changing for deeply nested crates like syn or num between top-level targets like the RLS and Cargo. We should make sure that the feature selection is the same so the dependencies can be shared, and then we should probably add a check to CI that Cargo isn't compiled twice.

Activity

  1. added
    T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.
    on Feb 15, 2018
  2. alexcrichton commented on Feb 15, 2018

    @alexcrichton
    MemberAuthor
  3. ishitatsuyuki commented on Feb 15, 2018

    @ishitatsuyuki
    Contributor

    I think I brought up this before, and as a result you closed the issue at Cargo side.

  4. alexcrichton commented on Feb 16, 2018

    @alexcrichton
    MemberAuthor

    Cargo is working as intended, our CI is not

  5. ishitatsuyuki commented on Feb 16, 2018

    @ishitatsuyuki
    Contributor

    So this is rust-lang/cargo#4048. I think this is definitely a feature worth implement in Cargo.

  6. added a commit that references this issue on Mar 1, 2018
  7. alexcrichton commented on Mar 1, 2018

    @alexcrichton
    MemberAuthor

    I think this will be fixed with nrc/derive-new#28 and #48642

  8. alexcrichton commented on Mar 7, 2018

    @alexcrichton
    MemberAuthor

    Fixed in #48642

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

    T-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