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

[WIP] Always pass -x cu to nvcc #1047

Closed
wants to merge 1,103 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Mar 8, 2020

  1. Removed unnecessary white space.

    edge90 authored and froydnj committed Mar 8, 2020
    Configuration menu
    Copy the full SHA
    4bab0d3 View commit details
    Browse the repository at this point in the history
  2. Fix compiler warnings

    ry authored and froydnj committed Mar 8, 2020
    Configuration menu
    Copy the full SHA
    294551c View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2020

  1. Configuration menu
    Copy the full SHA
    b43d51f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fd7ece2 View commit details
    Browse the repository at this point in the history
  3. move which::which import closer to its point of use

    Otherwise we get warnings about unused imports on Windows.
    froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    90a3d66 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d2f3380 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b437c92 View commit details
    Browse the repository at this point in the history
  6. increase SccacheServer shutdown wait timeout

    This is a bit of a hack.  The integration tests under `src/test/`,
    specifically `test_server_compile` have started timing out at some point
    after the Windows builds were broken.  It's not obvious to me why it
    should be this particular test, and not other tests.  But we're running
    on Windows, and presumably running on some kind of VM in CI, so it seems
    worth bumping up the timeout here.
    froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    161f902 View commit details
    Browse the repository at this point in the history
  7. disable sccache_cargo tests on windows

    Tests on appveyor timeout before the server starts.
    froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    ce05072 View commit details
    Browse the repository at this point in the history
  8. Fix many clippy warnings

    ry authored and froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    d73d1b9 View commit details
    Browse the repository at this point in the history
  9. Switch from SHA-512 to BLAKE3

    BLAKE3 is designed to be a very high performance cryptographic hash. The
    BLAKE3 team has shown 8.5x higher single-thread performance than SHA-512
    on modern server hardware (AWS `c5.metal`). This change did not result
    in a significant improvement to my observed local build times, but
    newer hardware may see a meaningful improvement.
    
    Signed-off-by: George Hahn <[email protected]>
    GeorgeHahn authored and froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    7911e11 View commit details
    Browse the repository at this point in the history
  10. fixup: correct stale comments

    GeorgeHahn authored and froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    33a3869 View commit details
    Browse the repository at this point in the history
  11. fixup: bump CACHE_VERSION

    GeorgeHahn authored and froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    8253784 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    ed8b7e1 View commit details
    Browse the repository at this point in the history
  13. Update Cargo.lock

    ry authored and froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    d5ebd50 View commit details
    Browse the repository at this point in the history
  14. cargo fmt

    ry authored and froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    b835831 View commit details
    Browse the repository at this point in the history
  15. Add github actions

    ry authored and froydnj committed Mar 9, 2020
    Configuration menu
    Copy the full SHA
    09c9e32 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2020

  1. clang: Add support for -debug-info-kind.

    This is used by chromium for example.
    emilio authored and froydnj committed Mar 12, 2020
    Configuration menu
    Copy the full SHA
    87c278b View commit details
    Browse the repository at this point in the history
  2. azure: container_name shouldn't be optional

    ry authored and froydnj committed Mar 12, 2020
    Configuration menu
    Copy the full SHA
    86be547 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6c71bfe View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2020

  1. Configuration menu
    Copy the full SHA
    ca73029 View commit details
    Browse the repository at this point in the history
  2. Fix remaining clippy warnings

    ry authored and froydnj committed Mar 13, 2020
    Configuration menu
    Copy the full SHA
    65bb3b6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5e7236f View commit details
    Browse the repository at this point in the history
  4. remove github action format check

    Even though Actions aren't supported on the main repo, they can still be
    supported on personal repos, and people might proactively fix their
    Windows bustage if GitHub sends them emails about it.  So let's keep
    Actions, but turn off things we haven't enabled on Travis yet.
    froydnj committed Mar 13, 2020
    Configuration menu
    Copy the full SHA
    0e60647 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2020

  1. Configuration menu
    Copy the full SHA
    18855f4 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2020

  1. Configuration menu
    Copy the full SHA
    8816c2f View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2020

  1. bump minimum rust version to 1.41.1

    Removes a chunk from the readme regarding a false positive
    rustc-wrapper entry not being used, which is closed since 1.40.0 .
    Cargo issue: rust-lang/cargo#7745
    drahnr authored and froydnj committed Mar 18, 2020
    Configuration menu
    Copy the full SHA
    32dc8b0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0209ab0 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2020

  1. involve rustup when determining toolchain paths (mozilla#666)

    Co-authored-by: Bernhard Schuster <[email protected]>
    drahnr and Bernhard Schuster authored Mar 20, 2020
    Configuration menu
    Copy the full SHA
    1351a07 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2020

  1. Ignore SCCACHE_ERROR_LOG when empty

    eoger authored and froydnj committed Mar 24, 2020
    Configuration menu
    Copy the full SHA
    abc2759 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2020

  1. Make hashes path agnostic for MSVC

    peterjc123 authored and glandium committed Apr 10, 2020
    Configuration menu
    Copy the full SHA
    211bb23 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2020

  1. Similar to /Zi, /ZI defaults to storing all compilations in the same …

    …pdb.
    
    Signed-off-by: Nicholas Rishel <[email protected]>
    PrototypeNM1 authored and froydnj committed Apr 20, 2020
    Configuration menu
    Copy the full SHA
    06584b6 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2020

  1. cargo update

    glandium authored and froydnj committed Apr 28, 2020
    Configuration menu
    Copy the full SHA
    06c1b23 View commit details
    Browse the repository at this point in the history
  2. Use tokio-compat instead of tokio

    This gets us one step into tokio 0.2, with its new scheduler. This makes
    things significantly faster on my 32-core 64-threads machine, with
    Firefox builds with 100% cache hits at -j64 going down from 3 minutes to
    2:24. Also, with the old scheduler, with 100% cache hits, -j16 was
    actually faster than -j64, which is not the case anymore.
    glandium authored and froydnj committed Apr 28, 2020
    Configuration menu
    Copy the full SHA
    5afa5b1 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2020

  1. Revert "use tokio_reactor::Handle::default" and "fix error message on…

    … windows for test_server_port_in_use"
    
    This reverts commit b43d51f and
    commit b437c92.
    
    While tokio_reactor::Handle::current has a deprecation note that says
    "semantics were sometimes surprising, use Handle::default()", it turns
    out the the semantics of `current` work better for sccache, as sccache
    --start-server times out with `default` but not with `current` (although
    the server does start).
    
    The error for the test_server_port_in_use switch to being about a
    timeout was due to the switch to `current`, so we're now back to a more
    normal looking error message.
    glandium authored and froydnj committed Apr 29, 2020
    Configuration menu
    Copy the full SHA
    27bf3e6 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2020

  1. Extract compilation flag from input arguments

    This was done to support different compilers/languages which
    use different compilation flags. For example nvcc supports
    `-c`, `-dc`, and `-ptx`. This change allows compilers to determine
    what type of compilation they are doing and react correctly.
    Robert Maynard authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    5796fc1 View commit details
    Browse the repository at this point in the history
  2. Add nvcc as a supported compiler

    Started based on the work at https://github.com/yf225/sccache but
    more changes have been required to properly handle the different
    nvcc compile flags and modes
    Robert Maynard authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    57328b5 View commit details
    Browse the repository at this point in the history
  3. sccache show-stats considers nvcc invocations as CUDA language

    Robert Maynard authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    1cb3246 View commit details
    Browse the repository at this point in the history
  4. nvcc handles '=' with --include-path and -isystem

    Robert Maynard authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    9b7de3e View commit details
    Browse the repository at this point in the history
  5. Make hashes path agnostic for NVCC

    Robert Maynard authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    3a5d4e8 View commit details
    Browse the repository at this point in the history
  6. Add ptx compilation support to nvcc

    Robert Maynard authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    fb64189 View commit details
    Browse the repository at this point in the history
  7. Extract dependency args from preprocessor args

    NVCC doesn't support generating both the dependency information
    and the preprocessor output at the same time. So we need to
    have the -MT/-MD flags go with a dependency info compiler invocation
    and not the pre-process step.
    
    In addition this now allows sccache to work properly with `-MQ` for
    gcc like compilers.
    Robert Maynard authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    48e4f2f View commit details
    Browse the repository at this point in the history
  8. Update nvcc to handle new dependency flags

    Robert Maynard authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    30b9eb0 View commit details
    Browse the repository at this point in the history
  9. Update nvcc to handle more compiler flags

    Robert Maynard authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    53e006e View commit details
    Browse the repository at this point in the history
  10. add support for clippy-driver to sccache

    yaahc authored and froydnj committed May 6, 2020
    Configuration menu
    Copy the full SHA
    f502075 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    5c01bce View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    ab3e79e View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5da0707 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2020

  1. Configuration menu
    Copy the full SHA
    d4d2ab4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    51d7fa4 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2020

  1. Correctly specify certain nvcc flags shouldn't capture any parameters

    Flags such as `expt-relaxed-constexpr` are flags and don't have
    any parameters they should capture. Doing this caused compilation
    failures when it captured `Xcompiler` and therefore a subsequent flag
    for the host compiler was incorrectly given to nvcc instead.
    Robert Maynard authored and froydnj committed May 14, 2020
    Configuration menu
    Copy the full SHA
    a3dd585 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2020

  1. fix some workarounds now that we have non-lexical lifetimes

    The TODO in server.rs that we didn't fix was somewhat cryptic and I
    don't think it would have made the code any clearer even if it could
    have been fixed.
    froydnj committed May 21, 2020
    Configuration menu
    Copy the full SHA
    015a918 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a96b834 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2020

  1. delete when-we-have-NLL-related comment

    Should have caught this previously.
    froydnj committed May 22, 2020
    Configuration menu
    Copy the full SHA
    e54bbaa View commit details
    Browse the repository at this point in the history
  2. fix parsing for rustc -Z ls

    The linked PR in the comment changed the output format, but never
    bothered to change sccache to match the new output format.  So when we
    stumbled across a case of the new output format, we panicked.
    froydnj committed May 22, 2020
    Configuration menu
    Copy the full SHA
    35ea08f View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2020

  1. Configuration menu
    Copy the full SHA
    98c62b5 View commit details
    Browse the repository at this point in the history
  2. allow caching with more msvc slash style arguments

    mozilla#674 broke caching for msvc /foo style arguments that weren't
    handled in our arg list. So let's expand that list.
    
    Fixes mozilla#725.
    mostynb authored and froydnj committed Jun 1, 2020
    Configuration menu
    Copy the full SHA
    bf6fb5d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a862e0b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    def09ca View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2020

  1. Configuration menu
    Copy the full SHA
    868ee6e View commit details
    Browse the repository at this point in the history
  2. msvc: /Fm has no effect if /c is specified

    It should not prevent caching by itself.
    mostynb authored and froydnj committed Jun 2, 2020
    Configuration menu
    Copy the full SHA
    33456f0 View commit details
    Browse the repository at this point in the history
  3. Some README tweaks.

    nnethercote authored and froydnj committed Jun 2, 2020
    Configuration menu
    Copy the full SHA
    194a25f View commit details
    Browse the repository at this point in the history
  4. Remove some unneeded error kinds.

    nnethercote authored and froydnj committed Jun 2, 2020
    Configuration menu
    Copy the full SHA
    3e490e6 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2020

  1. make mutable borrowing more explicit during cache writing

    It's not clear to me whether something like this is already happening
    inside type derivation or not, but this at least makes things clearer
    that `compiler_result` is not being borrowed mutably.
    froydnj committed Jun 3, 2020
    Configuration menu
    Copy the full SHA
    26aaa9a View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2020

  1. improve hashing from a file

    This routine had a couple of problems:
    
    1. The buffer was reinitialized with zeros every time through the loop,
       rather than once outside of the loop.
    2. We created a buffered reader, but we are using it to do large block
       reads, which makes the internal buffer essentially useless.  `BufReader`
       is at least smart enough to bypass the internal buffer in such cases,
       but still, we were allocating an additional amount of heap memory that
       we didn't need.
    
    This patch addresses both of those problems.  It is arguably better to use
    `std::io::copy`, which currently takes advantage of `Read::initialize`, a
    Nightly-only API that attempts to avoid needing to initialize buffers prior to
    passing them off to `Read::read`, but the default buffer size of
    `std::io::copy` is much smaller than what we use here.  Rust rlibs can get
    rather large (e.g. about 80% of rlibs during a Firefox compilation are larger
    than 128kb and will therefore go through even the loop we have here at least
    twice; ~55% are larger than 700k; about 10% are larger than 12mb (!)) and are
    the primary consumers of this method (via `util::hash_all`), so at least
    fixing the obvious major issues above seems worthwhile.
    froydnj committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    36dd9d8 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2020

  1. rustfmt the code and add a check to CI.

    The code was already mostly rustfmt'd, so we might as well go the whole
    way.
    nnethercote authored and froydnj committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    669f99f View commit details
    Browse the repository at this point in the history
  2. update test harness crates

    This patch looks like a routine crate version update, but it fixes
    something very fundamentally wrong with the tests: `escargot`, to find
    the `sccache` binary during tests, would actually run `cargo build` and
    parse the output.  There were all manner of hacks to try and build the
    binary with the correct set of features, none of which were reliable,
    and the hacks were not reliably present in all places, either.
    
    When the hacks were not present, `escargot` would rebuild the entire
    sccache crate, which was responsible for the `sccache_cargo` test taking
    entirely too long.  When the hacks failed utterly, perfectly fine
    patches would mysteriously fail, as seen in mozilla#774.
    
    We can get rid of `escargot` because `assert-cmd` has been updated to a)
    not use `escargot` under the hood; and b) do something smarter to locate
    the target binary.  The upshot is fewer mysterious test failures and
    significantly faster running tests.
    froydnj committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    e7af8d2 View commit details
    Browse the repository at this point in the history
  3. Identify more messages as coming from sccache.

    This finishes what mozilla#762 started. All `println!`/`eprintln!` calls now
    start with `sccache: `, except those involved in printing of requested
    data, such as stats.
    nnethercote authored and froydnj committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    e577880 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    99e5e98 View commit details
    Browse the repository at this point in the history
  5. move OS X off stable Rust

    Stable Rust and the OS X versions on TravisCI do not seem to get along
    right now.  I filed a Rust bug (rust-lang/rust#73030) about this, but if
    the bug is very OS X-configuration specific, I'm not sure there's much
    that can be done about it on the Rust side.
    
    We can at least change the CI configuration so we don't get a bunch of
    spurious failures.
    froydnj committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    36ccc87 View commit details
    Browse the repository at this point in the history
  6. make stdout/stderr getting explicit from CacheRead

    The abstraction barrier here is not perfect, because people can make
    `get_object` calls on their own.  But at least `CacheRead` is slightly
    more structured this way.
    froydnj committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    4aaffa8 View commit details
    Browse the repository at this point in the history
  7. make stdout/stderr putting explicit in CacheWrite

    The abstraction barrier here is not perfect, because people can make
    `put_object` calls on their own.  But at least `CacheWrite` is slightly
    more structured this way and the optimization for empty streams is
    hidden away from the client.
    froydnj committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    ae21e95 View commit details
    Browse the repository at this point in the history
  8. move object extraction into CacheRead

    This seems cleaner than having somebody else manage object extraction.
    froydnj committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    8a85b5f View commit details
    Browse the repository at this point in the history
  9. add CacheWrite creation from objects

    This patch is the mirror of the previous `CacheRead` change.  Again, not
    a huge change, but it's slightly nicer for `CacheWrite` to manage this.
    froydnj committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    17d6d08 View commit details
    Browse the repository at this point in the history
  10. update to zip-rs 0.5

    I was looking through old issues, and mozilla#160 mentioned that crc32
    checksumming for zip files was showing up in profiles.  zip-rs 0.4 uses
    a byte-at-a-time version of crc32; zip-rs 0.5 relies on the `crc32fast`
    crate, which features faster implementations.
    froydnj committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    c0209bb View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2020

  1. feat: Update redis to 0.15

    With tokio-compat being used it is now possible to use dependencies that
    use tokio-0.2
    Markus Westerlind authored and froydnj committed Jun 8, 2020
    Configuration menu
    Copy the full SHA
    34f391f View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2020

  1. Change error handling from error-chain to anyhow.

    Because `anyhow` is what seems to be the most common error library for
    applications these days.
    
    - The global `Result` type is now `anyhow::Result`.
    
    - In errors.rs, there's no need for any boilerplate to wrap all the foreign
      errors seen: `hyper::Error`, `io:Error`, etc.
    
    - The internal errors that we care about are now separate types, rather
      than within an enum, because that works better when we need to check for them
      by downcasting an `anyhow::Error`. And it's nice to write
      `Err(ProcessError(output))` rather than
      `Err(ErrorKind::ProcessError(output))`.
    
    - The `Which` error was unused and is removed.
    
    - The most common change is that `.chain_err()` is changed to
      `.context`/`.with_context()`.
    
    - `anyhow!` is used where necessary, mostly to promote a string to an
      `anyhow::Error`.
    
    - Errors within futures: `FutureChainErr`/`.chain_err()` is changed to
      `FutureContext`/`fcontext`/`fwith_context`. The `f` prefix is because I found
      it helpful to distinguish these cases from the simple error cases.
    
    - `BuilderIncoming`, `SchedulerIncoming`, `ServerIncoming` no longer have an
      `Error` associated type, we just use `anyhow::Error` uniformly.
    
    - `e.display_chain()` changes to `format!("{:?}")`, because they both print the
      full cause chain, and the backtrace (if present).
    
    - A few places where the old code was doing something weird or more
      complicated than seemed necessary, I generally tried to replace it with
      something simpler and more typical. Two places used `with_boxed_chain()`,
      which doesn't have an equivalent in `anyhow`, so I did my best to do
      something reasonable.
    
    - In `src/server.rs` we now import `std::task::Context` as `TaskContext` to
      avoid overshadowing the `anyhow::Context` trait :(
    nnethercote committed Jun 10, 2020
    Configuration menu
    Copy the full SHA
    97a8f9c View commit details
    Browse the repository at this point in the history
  2. Merge pull request mozilla#777 from nnethercote/use-anyhow

    Change error handling from `error-chain` to `anyhow`.
    nnethercote authored Jun 10, 2020
    Configuration menu
    Copy the full SHA
    79f2968 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2020

  1. Import std::task::Context as Context again

    We shouldn't contort and rename structs for the purpose of some trait
    whose name doesn't matter in practice.
    glandium committed Jun 11, 2020
    Configuration menu
    Copy the full SHA
    68c94c9 View commit details
    Browse the repository at this point in the history
  2. upgrade ar crate so we can do less copying when trimming rlibs

    The current trimming of rlibs in the dist-sccache case looks like:
    
    1. Find the `rust.metadata.bin` file in the rlib (archive).
    2. Read its data.
    3. Create a new archive that will only contain said file.
    4. Copy the data into the new archive.
    
    We can do better than this, by doing the following:
    
    1. Find the `rust.metadata.bin` file in the rlib (archive).
    2. Create a new archive that will only contain said file.
    3. Copy the data from the original rlib directly into the new archive.
    
    We thus save a copy.
    
    All that being said, it looks like recent versions of Rust don't
    actually output `rust.metadata.bin` files into rlibs...unless we ought
    to be only taking the `lib.rmeta` file that lives inside the archive.
    But that would be a separate fix.  (It's also great that we're seemingly
    copying the rmeta file twice, once because it lives in the rlib and once
    because it lives on disk as a separate file...)
    froydnj authored and glandium committed Jun 11, 2020
    Configuration menu
    Copy the full SHA
    e3ec58d View commit details
    Browse the repository at this point in the history
  3. cargo update

    glandium committed Jun 11, 2020
    Configuration menu
    Copy the full SHA
    93c6064 View commit details
    Browse the repository at this point in the history
  4. Upgrade dependencies that don't require changes

    Except redis, which pulls in async-std, which needs some further
    consideration.
    glandium committed Jun 11, 2020
    Configuration menu
    Copy the full SHA
    b6cede2 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2020

  1. use zstd to compress cache entries

    zstd is faster and gives slightly smaller (~5%) compressed blobs than
    deflate does, as measured on a Firefox build.  Rather than inventing our
    own compressed archive format, we piggyback on top of zip's "stored"
    files to stuff zstd-compressed blobs in the zip archive.
    froydnj authored and glandium committed Jun 12, 2020
    Configuration menu
    Copy the full SHA
    be9da57 View commit details
    Browse the repository at this point in the history
  2. update appveyor to MSVC 2017

    This update should fix the BLAKE3 avx512 compilation issues.
    froydnj committed Jun 12, 2020
    Configuration menu
    Copy the full SHA
    32d5b47 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3ee925a View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2020

  1. use a proper release for selenium-rs

    0.1.2 was released earlier this year and includes the fix we need.
    froydnj committed Jun 13, 2020
    Configuration menu
    Copy the full SHA
    0639dc2 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2020

  1. Remove the unused quote crate.

    I found this using `cargo-udeps`.
    nnethercote authored and froydnj committed Jun 17, 2020
    Configuration menu
    Copy the full SHA
    e71f302 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2020

  1. fix parsing for -dependency-file

    This option was getting passed as a preprocessor argument and the
    additional arguments that it requires (e.g. `-MT`) were getting passed
    as dependency arguments.  So when we went to call the preprocessor, the
    compiler complained about the missing arguments.  Instead, we should be
    classifying it as specifying a dependency target, which will direct it
    to the correct set of arguments.
    
    We also take this opportunity to move it to be a clang-exclusive option;
    the same option exists in GCC, but it's Darwin-specific and unlikely to
    be actually used there.
    froydnj committed Jun 23, 2020
    Configuration menu
    Copy the full SHA
    9a7ec04 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2020

  1. fix msvc passthrough arguments

    mozilla#764 and its followon patch, mozilla#768, failed to take into account that
    passthrough arguments actually need to be passed through to the compiler
    invocation: they don't prevent caching, but they do need to be
    considered when computing the cache key...and when actually performing
    the compilation.
    froydnj committed Jul 1, 2020
    Configuration menu
    Copy the full SHA
    e654df8 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2020

  1. Add a note for how to use sccache with cmake.

    It feels like the obvious way would be to ask cmake to use "sccache
    gcc" as CMAKE_C_COMPILER, but that option can't take arguments.  Leave
    a note for the next person trying to figure it out.
    anholt authored and froydnj committed Jul 6, 2020
    Configuration menu
    Copy the full SHA
    f609dcb View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2020

  1. Add basic support for -clang:* arguments for clang-cl

    And add enough to support -fprofile-generate.
    glandium committed Jul 10, 2020
    Configuration menu
    Copy the full SHA
    d172e77 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2020

  1. update walkdir 1 -> 2.3

    Dushistov authored and froydnj committed Jul 14, 2020
    Configuration menu
    Copy the full SHA
    c84cca3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e5c1ffa View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    033ebaa View commit details
    Browse the repository at this point in the history
  4. Validate server started on the correct port

    The patch implements the TODO mentioned.
    
    The server writes the port of on which it is listening to the socket
    placed at SCCACHE_STARTUP_NOTIFY.  This port should match the port
    expected by the client that requested the startup.
    sum12 authored and froydnj committed Jul 14, 2020
    Configuration menu
    Copy the full SHA
    667feb6 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2020

  1. Add support for key prefixes when using S3 as the storage (mozilla#811)

    The corresponding environment variable is `SCCACHE_S3_KEY_PREFIX`.
    jakubadamw authored Jul 21, 2020
    Configuration menu
    Copy the full SHA
    86c76c7 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2020

  1. Add known caveats section to readme (mozilla#815)

    * Add known caveats section to readme
    
    These are pretty serious limitations that I would have liked to read about rather than discover later! I also added an example for `RUST_LOG` so you don't have to go digging in the docs to learn how to use it.
    Timmmm authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    711cd06 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2020

  1. clang: Allow chrome plugin arguments (mozilla#817)

    * clang: Allow args for arbitrary plugins
    
    The plugin name may be accepted via Concatenated('-').
    However, the following -Xclang argument should be passed through
    as the value of the plugin argument. As a proof-of-concept,
    identify the following Raw argument and pass it through.
    
    Fixes mozilla#350.
    barrbrain authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    f210a59 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2020

  1. Implement g++ and clang++ behavior when used on a .c input file.

    …Fixes mozilla#803 (mozilla#818)
    
    `g++` and `clang++` both compile `.c` files in C++ mode in the absence of any other directions (like the `-x` flag); add code to distinguish between the two compilers and their `++` variations, then fix up language selection and caching accordingly.
    rickystewart authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    e66c9c1 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2020

  1. Modify logging to use SCCACHE_LOG. (mozilla#822)

    As per mozilla#810, modify env_logger to use the SCCACHE_LOG environment
    variable instead of the RUST_LOG one. This is to enable control of
    sccache logs whilst debugging other rust binaries.
    
    Update docs for SCCACHE_LOG.
    
    Fixes mozilla#810
    rthomas authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    182c59e View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2020

  1. Bump to tiny-http 0.7.0 (mozilla#830)

    Which contains the fix for issue tiny-http#151.
    philn authored Aug 17, 2020
    Configuration menu
    Copy the full SHA
    bdaa65a View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2020

  1. In case we fail to read the compressed content from the cache, treat …

    …the failure as a forced recache. This prevents us from failing build jobs unconditionally if cache entries are corrupt (or in case of other sporadic failures), in which case we should continue on with force-recompiling and recaching. (mozilla#836)
    rickystewart authored Aug 25, 2020
    Configuration menu
    Copy the full SHA
    030c80a View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2020

  1. Configuration menu
    Copy the full SHA
    60573ac View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2020

  1. Configuration menu
    Copy the full SHA
    5197fbb View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2020

  1. Revert "Bump to tiny-http 0.7.0 (mozilla#830)" because it caused a re…

    …gression, mozilla#846.
    
    This reverts commit bdaa65a.
    dholbert authored and glandium committed Sep 17, 2020
    Configuration menu
    Copy the full SHA
    ea4d146 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2020

  1. New entry in ServerStartup enum to indicate AddrInUse Error (mozilla#840

    )
    
    when cargo fires of parallel build jobs, we encounter a race to start
    the server if the server is not already running to start the server
    
    This is an AddrInUse error causing atleast one of the parallel build
    jobs fail.
    
    This patch adds a new entry to ServerStartup enum to clearly communicate
    the AddrInUse error from the server to the client that requested the
    server start. Using this information the client can retry connecting
    instead of failing.
    sum12 authored Sep 28, 2020
    Configuration menu
    Copy the full SHA
    6628e1f View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2020

  1. Run cargo update

    glandium committed Dec 8, 2020
    Configuration menu
    Copy the full SHA
    e30185a View commit details
    Browse the repository at this point in the history
  2. Don't enable deflate on the zip crate

    It's not needed since be9da57. This allows to update the flate2 crate
    for reqwest.
    glandium committed Dec 8, 2020
    Configuration menu
    Copy the full SHA
    87266bb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    48ff759 View commit details
    Browse the repository at this point in the history
  4. Apply many fixes from cargo clippy

    One of them requires rust 1.42.0, so bump to minimally support that.
    Many of these fixes were lifted from PR mozilla#718.
    glandium committed Dec 8, 2020
    Configuration menu
    Copy the full SHA
    3b340b3 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2020

  1. Configuration menu
    Copy the full SHA
    2b083d1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    185c6ba View commit details
    Browse the repository at this point in the history
  3. Upgrade to rand 0.7

    glandium committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    4dadd8e View commit details
    Browse the repository at this point in the history
  4. Upgrade url to 2.2

    glandium committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    3c45df0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    46d51c1 View commit details
    Browse the repository at this point in the history
  6. Upgrade redis to 0.18

    glandium committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    9189ac6 View commit details
    Browse the repository at this point in the history
  7. Upgrade env_logger to 0.8

    glandium committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    1986619 View commit details
    Browse the repository at this point in the history
  8. Upgrade nix to 0.19

    glandium committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    6ca406f View commit details
    Browse the repository at this point in the history
  9. Upgrade base64 to 0.13

    glandium committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    41b6bab View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7973aed View commit details
    Browse the repository at this point in the history
  11. Upgrade retry to 1.2

    glandium committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    04437f1 View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2020

  1. Switch to use chrono instead of time

    time 0.2 doesn't offer the features we used time 0.1 for, and we are already
    using chrono.
    glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    fb98e0a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1f65807 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cbb232a View commit details
    Browse the repository at this point in the history
  4. Run cargo update

    glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    a3ce997 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    78000ef View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bcd8312 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5e44709 View commit details
    Browse the repository at this point in the history
  8. Re-enable dist-tests on CI

    glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    b791427 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0fc63d6 View commit details
    Browse the repository at this point in the history
  10. Add the x86_64-unknown-linux-musl rust target in the CI job that need…

    …s it
    
    That used to be in travis-musl-openssl.sh, which we removed.
    glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    42288a1 View commit details
    Browse the repository at this point in the history
  11. Upgrade crossbeam

    Jacob Hughes authored and glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    967cb60 View commit details
    Browse the repository at this point in the history
  12. fix(build): dist-server without any other features

    Martin Matous authored and glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    0515530 View commit details
    Browse the repository at this point in the history
  13. Typo: putting $HOME in code markers

    Signed-off-by: ed neville <[email protected]>
    edneville authored and glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    5ee4354 View commit details
    Browse the repository at this point in the history
  14. Add aarch64-musl builds to travis

    hwinit authored and glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    e489e3c View commit details
    Browse the repository at this point in the history
  15. Add cargo test for aarch64

    hwinit authored and glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    3162e5b View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    5c60588 View commit details
    Browse the repository at this point in the history
  17. Add arm64 OS X build on CI

    glandium committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    39343c9 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    daf2267 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2020

  1. Configuration menu
    Copy the full SHA
    add5f0a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5c3814e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d7eceb0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2832187 View commit details
    Browse the repository at this point in the history
  5. fix(windows): remove DETACHED_PROCESS flag when starting the server…

    … process
    
    See discussion in mozilla#514.
    tangmi authored and glandium committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    36f466f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    da18ac2 View commit details
    Browse the repository at this point in the history
  7. Only use vendored OpenSSL on deployment builds

    0fc63d6 went a little overboard
    enabling it on all builds. We still need it on the dist-server builds,
    which need to run sccache-dist in a docker environment that doesn't have
    OpenSSL installed.
    glandium committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    978bab8 View commit details
    Browse the repository at this point in the history
  8. Set EXTRA_FEATURES at the env level in travis config

    We can also remove the dist-client feature, since it's enabled by
    default.
    glandium committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    d8a299d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    c4a3069 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d196eda View commit details
    Browse the repository at this point in the history
  11. msvc: handle /MP as a passthrough argument

    Compiler invocations with the `/MP[processMax]` option for MSVC are
    currently rejected by the cache ("multiple input files"). The `/MP`
    option enables multiprocessing in the compiler [1], so there is no
    impact on the cache-ability of the call if a single source file is
    given. This commit changes the behavior to passthrough.
    
    I ran into this because Conan [2] adds the `/MP` option by default.
    
    [1]: https://docs.microsoft.com/en-us/cpp/build/reference/mp-build-with-multiple-processes
    [2]: https://conan.io/
    tuxu authored and glandium committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    6d8488e View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    47fd81b View commit details
    Browse the repository at this point in the history
  13. Treat failing Redis CONFIG call as null result

    Arne Luenser authored and glandium committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    1ae5d3c View commit details
    Browse the repository at this point in the history
  14. Pass -clang:-frewrite-includes to clang-cl.

    mstange authored and glandium committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    422ef65 View commit details
    Browse the repository at this point in the history
  15. Add test for -arch arguments

    sccache currently barfs on multiple -arch. See mozilla#847.
    
    This commit adds a test case showing that multiple -arch are currently
    accepted.
    indygreg authored and glandium committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    c94175d View commit details
    Browse the repository at this point in the history
  16. Don't cache if -arch specified multiple times (mozilla#847)

    Attempting to use sccache with gcc/clang with -arch specified multiple
    times (such as when compiling llvm's compiler-rt) results in a rather
    cryptic error from the invoked clang command: `clang: error: cannot
    use 'c++-cpp-output' output with multiple -arch options`.
    
    While there are potentially other workarounds to this special case,
    this commit takes the simplest approach and marks the invocation
    as not cacheable if multiple -arch flags are present.
    
    The test introduced by the previous commit demonstrates the desired
    change in behavior.
    
    Closes mozilla#847.
    indygreg authored and glandium committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    e6326bc View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2020

  1. msvc: handle -showIncludes as a dependency argument

    Due to the way that MSVC works, these flags also need passed to the main
    compilation as well.
    
    Fixes: mozilla#411
    mathstuf authored and glandium committed Dec 15, 2020
    Configuration menu
    Copy the full SHA
    e6a0392 View commit details
    Browse the repository at this point in the history
  2. support /external:I in msvc

    MSVC 2017 15.6 came with a new feature to support system include paths:
    
    https://devblogs.microsoft.com/cppblog/broken-warnings-theory/
    
    Unfortunately, said new feature is unusable with sccache because sccache
    thinks that for `/external:I $PATH`, `$PATH` is an input argument, and
    bails out.  Let's teach sccache about this syntax.
    froydnj authored and glandium committed Dec 15, 2020
    Configuration menu
    Copy the full SHA
    a3d01b1 View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2020

  1. Configuration menu
    Copy the full SHA
    200c0c7 View commit details
    Browse the repository at this point in the history
  2. Use a full path relative to cwd for extra hash files

    When the current directory of the sccache process is not the same as
    the current directory for the compiler process, extra hash files are
    currently not found, leading to errors.
    
    Fixes mozilla#843
    glandium committed Dec 16, 2020
    Configuration menu
    Copy the full SHA
    a458fa7 View commit details
    Browse the repository at this point in the history
  3. Ignore both -FS and -MP on MSVC

    glandium committed Dec 16, 2020
    Configuration menu
    Copy the full SHA
    da1dd3b View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2020

  1. Configuration menu
    Copy the full SHA
    64f86e9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    51d3c59 View commit details
    Browse the repository at this point in the history
  3. Bump lru-disk-cache version

    glandium committed Dec 21, 2020
    Configuration menu
    Copy the full SHA
    fdbf843 View commit details
    Browse the repository at this point in the history
  4. Run cargo update

    glandium committed Dec 21, 2020
    Configuration menu
    Copy the full SHA
    c447c90 View commit details
    Browse the repository at this point in the history
  5. Upgrade zstd to 0.6

    glandium committed Dec 21, 2020
    Configuration menu
    Copy the full SHA
    48ded85 View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2020

  1. Configuration menu
    Copy the full SHA
    5f57603 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2021

  1. Add missing suffix for travis deployment

    This will make the sccache-dist artifacts uploaded when staging next
    release, hopefully.
    glandium committed Jan 5, 2021
    Configuration menu
    Copy the full SHA
    ad8427e View commit details
    Browse the repository at this point in the history
  2. Switch Github workflow to use an in-tree action to install rust

    Only actions from github (under github/ and actions/) are allowed, and
    while actions from the mozilla organisation are technically allowed,
    they're currently not meant to be, so use an in-tree action instead.
    glandium committed Jan 5, 2021
    Configuration menu
    Copy the full SHA
    3de60cf View commit details
    Browse the repository at this point in the history
  3. Use plain actions/checkout

    We don't have submodules, and the repository is not large enough that a
    small fetch depth makes a significant different.
    glandium committed Jan 5, 2021
    Configuration menu
    Copy the full SHA
    aca0c9c View commit details
    Browse the repository at this point in the history
  4. Move rustfmt and clippy to a separate set of jobs

    And enable clippy, albeit allowing failures as the code is not
    clippy-clean yet. We run clippy on all 3 main platforms because each
    has platform-specific code that yields different warnings.
    We explicitly disable two warnings:
    - type_complexity, because it feels like unnecessary noise to try to fix
      those before switching to async code.
    - new-without-default, because I'm not particularly convinced.
    
    Also stop running rustfmt on Travis.
    glandium committed Jan 5, 2021
    Configuration menu
    Copy the full SHA
    d34ef50 View commit details
    Browse the repository at this point in the history
  5. Move tests from Travis/Appveyor to Github Actions

    On Travis, we used to build and run tests with both
    --no-default-features and without, but without additional features, which
    was the majority of cases, testing with --no-default-features was not
    really useful, so we don't do that anymore, except for the dist-server.
    
    Also, since dist-tests enables dist-server, the dist-server cases ended
    up running the same tests multiple times, which we now avoid.
    
    We also now split building the tests from running them, such that logs
    can be a little easier to work with.
    
    Github actions don't have arm64 runners yet, so we now don't run tests on
    arm64 linux, but that's not expected to catch problems that wouldn't be
    caught by the other tests.
    
    The Appveyor setup was running tests with multiple versions of rust,
    which is not done here, but that's not expected to catch problems that
    wouldn't be caught by the other tests either.
    glandium committed Jan 5, 2021
    Configuration menu
    Copy the full SHA
    5868ff8 View commit details
    Browse the repository at this point in the history
  6. Move remainder of the CI to Github Actions

    This includes:
    - Building in release mode for all release platforms on all PRs and
      merges/pushes.
    - Publishing release assets on tags.
    
    The extra benefit here is that the release assets are not pushed unless
    all builds are successful, which was not the case before, leading to
    0.2.13 without Windows binaries. We also make it necessary for all tests
    and lints to pass.
    
    Another benefit is that builds now have artifacts published, allowing
    to download them for some period of time after they were produced on
    a PR or on master.
    
    The setup for musl-based builds suffers on arm64 from not being able to
    build natively (per lack of arm64 runners), and from Ubuntu not having
    musl-cross packages, so it requires a little manual (hackish)
    cross-compilation work.
    
    The Linux builds can safely be done on a newer version of the base
    system as we are using the musl runtime, and compile openssl statically,
    preventing any dependency on symbols from too new systems, ensuring
    binary compatibility with older systems.
    
    The macOS builds were done against Xcode 9.4 (the default on Travis),
    which targets macOS 10.13. The 10.13 SDK is not available on Github
    Actions, but we can set the deployment target to that value while using
    the 10.14 SDK from Xcode 10.3 for binary compatibility. In theory, we
    should be able to use an even newer Xcode/SDK, but I'd rather not risk
    it at this point.
    
    The Windows builds should have no binary compatibility issues.
    glandium committed Jan 5, 2021
    Configuration menu
    Copy the full SHA
    64ed0c1 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2021

  1. Update documentation for the new config file path on macOS.

    Fixes mozilla#919.
    
    This path changed due to the update of the directories dependency
    in commit 185c6ba.
    mstange authored and glandium committed Jan 6, 2021
    Configuration menu
    Copy the full SHA
    490240b View commit details
    Browse the repository at this point in the history
  2. Allow too_many_arguments warning on the preprocess function

    I expect it to be addressed in mozilla#903.
    glandium committed Jan 6, 2021
    Configuration menu
    Copy the full SHA
    77e8ca2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5ab0949 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b308456 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7e2a977 View commit details
    Browse the repository at this point in the history
  6. Revert "Upgrade redis to 0.18"

    This reverts commit 9189ac6.
    
    The upgrade to 0.18 requires a tokio 0.3 runtime, which we don't have,
    so despite building, it doesn't actually work.
    glandium committed Jan 6, 2021
    Configuration menu
    Copy the full SHA
    10b072d View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2021

  1. Configuration menu
    Copy the full SHA
    eb33f09 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c08bf2f View commit details
    Browse the repository at this point in the history
  3. Move lru-disk-cache to an internal module

    See discussion in mozilla#916
    glandium committed Jan 7, 2021
    Configuration menu
    Copy the full SHA
    385f738 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2021

  1. Add C compiler versions to the hash calculation when available

    The clang compiler is a relatively thin wrapper around libclang-cpp and
    libllvm, and in some cases, it's possible that two identical clang
    executables are actually for different builds of clang. While ideally
    we could find all the libraries it could be using, a work-around,
    good enough for now, is to check the compiler version, which we get from
    the __VERSION__ macro in the preprocessor we're already making.
    glandium committed Jan 8, 2021
    Configuration menu
    Copy the full SHA
    53200f8 View commit details
    Browse the repository at this point in the history
  2. Run cargo update

    glandium committed Jan 8, 2021
    Configuration menu
    Copy the full SHA
    a3ff8a5 View commit details
    Browse the repository at this point in the history
  3. Upgrade itertools to 0.10

    glandium committed Jan 8, 2021
    Configuration menu
    Copy the full SHA
    0fd1eec View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2021

  1. Workaround tiny_http issue mozilla#151 by disabling HTTP pipelining

    Instead of relying on a crate patch.
    glandium committed Jan 11, 2021
    Configuration menu
    Copy the full SHA
    2ec3867 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2021

  1. Update docs/Releasing.md

    glandium committed Jan 12, 2021
    Configuration menu
    Copy the full SHA
    6634e79 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6b6d2f7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    22a176c View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2021

  1. Update CI badges

    glandium committed Jan 14, 2021
    Configuration menu
    Copy the full SHA
    e8c4337 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2021

  1. Configuration menu
    Copy the full SHA
    f9f6e40 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b3f4727 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2021

  1. Pacify new version of rustfmt.

    michaelwoerister authored and glandium committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    9ced903 View commit details
    Browse the repository at this point in the history
  2. Use timezone name in azure headers

    * Azure claims they follow rfc1123 here, which says implementations
      must accept both numeric and name for timezone:
      https://docs.microsoft.com/en-us/rest/api/storageservices/representation-of-date-time-values-in-headers
    * Using a numeric timezone always returns a http status with 403 though,
      but calls work with a timezone name work.
    * The examples in the above link use timezone names, so it should be
      safe to switch.
    johnor authored and glandium committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    c161213 View commit details
    Browse the repository at this point in the history
  3. Include CARGO environment variable in Rust hash generation.

    Similarly to 1cbd656, CARGO is used in places in env! invocations.
    rexhoffman authored and glandium committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    33623e1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fdf1598 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7f8d643 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    915e977 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    87e92b0 View commit details
    Browse the repository at this point in the history
  8. Run lints against a precise version of the rust toolchain

    This will allow PRs with failed CI just because they happened with
    a newer version of rustfmt/clippy than last time the master branch
    was checked.
    glandium committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    3f318a8 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2021

  1. always pass -x cu to nvcc

    trxcllnt committed Sep 26, 2021
    Configuration menu
    Copy the full SHA
    3f5ca74 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2021

  1. Update README.md (mozilla#997)

    It seems that the `gcs` feature doesn't depend on OpenSSL whereas `dist-server` still does, so update the README accordingly.
    Xanewok authored Oct 26, 2021
    Configuration menu
    Copy the full SHA
    15b4c76 View commit details
    Browse the repository at this point in the history
  2. Make note of symlinks. (mozilla#1031)

    * Make note of symlinks.
    
    It took me awhile before figuring out I should use hardlinks instead of symlinks. This proposal suggests adding a note in the hope it'll save someone else a bit of time. 
    
    See also this issue: mozilla#993 where someone else also spent way too much time on this issue.
    xanderificnl authored Oct 26, 2021
    Configuration menu
    Copy the full SHA
    06303be View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6256f4b View commit details
    Browse the repository at this point in the history
  4. README: explain how to use /Zi with /Fd

    Be-ing authored and sylvestre committed Oct 26, 2021
    Configuration menu
    Copy the full SHA
    cc4daa9 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2021

  1. Simplify Clippy lint setup

    The `unknown_clippy_lints` is deprecated and has been integrated into
    the rustc `unknown_lints` lint, see
    https://rust-lang.github.io/rust-clippy/master/#unknown_clippy_lints.
    
    For the other two lints that are currently allowed, this moves it to the
    source code so it's easier to see what's expected to work and be warned
    against and what's not, without having to look at how exactly the
    current CI is set up. It's common to simply run `cargo clippy` when
    working on the project (similarly to `cargo fmt`) so this optimizes for
    that scenario.
    
    Some other repos that use this:
    - https://github.com/rust-lang/cargo/blob/master/src/cargo/lib.rs
    - https://github.com/rust-lang/rls/blob/master/rls/src/lib.rs
    - https://github.com/serde-rs/json/blob/master/src/lib.rs
    Xanewok authored and sylvestre committed Oct 31, 2021
    Configuration menu
    Copy the full SHA
    7ad6199 View commit details
    Browse the repository at this point in the history
  2. Don't allow unknown lints by default

    So `unknown_clippy_lints` has been removed and has been theoretically
    lifted to rustc's `unknown_lints`, however it might not be a good idea
    to always allow for unknown lints in general.
    There should be a replacement for 'just ignore a Clippy lint that's
    unrecognized' but rustc offloads that responsibility to the tool and
    Clippy straight out unconditionally errors on an unrecognized attribute,
    ignoring the `unknown_lints` rustc lint setting. Since
    `unknown_clippy_lints` has been removed (and does nothing), there's no
    way to handle this anymore.
    
    With that said, we simply don't do anything regarding unknown Clippy
    lints and hope that Clippy will figure something out eventually.
    Xanewok authored and sylvestre committed Oct 31, 2021
    Configuration menu
    Copy the full SHA
    41d4b0f View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2021

  1. Cleanup build-time warnings

    Use format-support version of `panic!` macro
    Remove redundant semicolon
    
    Signed-off-by: Emily Mabrey <[email protected]>
    emabrey authored and sylvestre committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    0df34bb View commit details
    Browse the repository at this point in the history
  2. Resolve all clippy build errors

    Resolve errors that were caused by immediate deref of a reference.
    Resolve errors that were caused by use of all caps acronyms.
    Resolve redundant reference to a reference error.
    
    Signed-off-by: Emily Mabrey <[email protected]>
    emabrey authored and sylvestre committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    28f0b26 View commit details
    Browse the repository at this point in the history
  3. Replace deprecated clippy option

    Replace "clippy::unknown-clippy-lints" with "unknown-lints".
    
    Signed-off-by: Emily Mabrey <[email protected]>
    sylvestre committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    04e619f View commit details
    Browse the repository at this point in the history
  4. Update CI to Rust 1.54.0

    Signed-off-by: Emily Mabrey <[email protected]>
    emabrey authored and sylvestre committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    53e1615 View commit details
    Browse the repository at this point in the history
  5. Remove needless borrows

    Remove needless borrowing in `src/compiler/rust.rs`
    
    Signed-off-by: Emily Mabrey <[email protected]>
    emabrey authored and sylvestre committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    6020ebf View commit details
    Browse the repository at this point in the history
  6. Update CI version of Ubuntu

    Replace Github CI use of deprecated Ubuntu 16.04 with Ubuntu 18.04.
    
    Signed-off-by: Emily Mabrey <[email protected]>
    emabrey authored and sylvestre committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    0454224 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4de4c31 View commit details
    Browse the repository at this point in the history
  8. Disable the fail-fast

    One of the current failure is about ubuntu configuration
    sylvestre committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    6902165 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2021

  1. fix Date header

    lightsing authored and sylvestre committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    a9bb85f View commit details
    Browse the repository at this point in the history
  2. add unittest

    lightsing authored and sylvestre committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    7b25245 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2021

  1. Update the minimum set of deps for cargo audit

    cargo audit now reports 0 vulnerabilities down from 3
    sfc-gh-anoyes authored and sylvestre committed Nov 4, 2021
    Configuration menu
    Copy the full SHA
    af94299 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2021

  1. Configuration menu
    Copy the full SHA
    549cfd4 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2021

  1. Fix compilation error when not using Azure support

    This also fixes CI errors.
    Xanewok authored and sylvestre committed Nov 9, 2021
    Configuration menu
    Copy the full SHA
    72755c6 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2021

  1. refactor: Convert server.rs to use async await

    Markus Westerlind authored and sylvestre committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    905299f View commit details
    Browse the repository at this point in the history
  2. Migrate to stable Future trait and Tokio 0.2

    Co-authored-by: Igor Matuszewski <[email protected]>
    2 people authored and sylvestre committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    e7099d6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    68b0dfd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7279bd2 View commit details
    Browse the repository at this point in the history
  5. Don't early return when we can't find rustup proxy exe

    This fixes a bug introduced during the futures rewrite - we eagerly
    returned from the function rather than, as we did originally, falling
    back to compiling without proxy.
    Xanewok authored and sylvestre committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    9b8c037 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d4fcae4 View commit details
    Browse the repository at this point in the history
  7. fixup/dist: Construct auth hyper server in Tokio 0.2 context

    This fixes a run-time error otherwise encountered in tests/oauth.rs
    Xanewok authored and sylvestre committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    607e9a8 View commit details
    Browse the repository at this point in the history
  8. Fix clippy warnings

    Xanewok authored and sylvestre committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    2006639 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2021

  1. Enable TLS support for Redis

    Arne Luenser authored and sylvestre committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    17ac3e1 View commit details
    Browse the repository at this point in the history
  2. Mask the password in the Redis URL when printing cache stats

    Arne Luenser authored and sylvestre committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    73f26e3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0192fdd View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2021

  1. feat: Update tokio to 1.0

    Followup on mozilla#985 to pull sccache the last little bit into tokio 1.0
    Markus Westerlind authored and sylvestre committed Nov 13, 2021
    Configuration menu
    Copy the full SHA
    144eb0f View commit details
    Browse the repository at this point in the history
  2. chore: Make 1.48 the new minimum rust version

    Markus Westerlind authored and sylvestre committed Nov 13, 2021
    Configuration menu
    Copy the full SHA
    3a4987c View commit details
    Browse the repository at this point in the history
  3. Fix windows build

    Markus Westerlind authored and sylvestre committed Nov 13, 2021
    Configuration menu
    Copy the full SHA
    8349926 View commit details
    Browse the repository at this point in the history
  4. Fix warning

    Markus Westerlind authored and sylvestre committed Nov 13, 2021
    Configuration menu
    Copy the full SHA
    4524382 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2021

  1. Add reqwest to azure feature. Fixes mozilla#967

    omid authored and sylvestre committed Nov 14, 2021
    Configuration menu
    Copy the full SHA
    7778c8d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fff1a9e View commit details
    Browse the repository at this point in the history
  3. Don't inherit sccache-related env in integration tests

    Because the configuration is merged from both the environment and the
    configuration file, it's possible to forget about overriding variables
    related to one of the backends (e.g. by setting `SCCACHE_REDIS`). To
    account for that and not have to explicitly list/remember all of the
    supported env vars, we just don't inherit the sccache-related
    environment at all when running this test.
    Xanewok authored and sylvestre committed Nov 14, 2021
    Configuration menu
    Copy the full SHA
    b20734e View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2021

  1. Add SCCACHE_C_CUSTOM_CACHE_BUSTER to CACHED_ENV_VARS

    I needed a way to make hashes CWD-dependent,
    and it feels ugly to use other variables names for that purpose.
    t184256 authored and sylvestre committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    50d0b1f View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2021

  1. Configuration menu
    Copy the full SHA
    44c6bc5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    65fcf56 View commit details
    Browse the repository at this point in the history
  3. Use unstable feature

    montekki authored and sylvestre committed Nov 28, 2021
    Configuration menu
    Copy the full SHA
    4e106a4 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2021

  1. Configuration menu
    Copy the full SHA
    7dea20a View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2021

  1. fix lint

    trxcllnt committed Dec 1, 2021
    Configuration menu
    Copy the full SHA
    be07f30 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    188e8a0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e77e64c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    eec500e View commit details
    Browse the repository at this point in the history
  5. expand nvcc toolchain file list to enable dist nvcc, add script to cr…

    …eate custom gcc+nvcc toolchain tgz
    trxcllnt committed Dec 1, 2021
    Configuration menu
    Copy the full SHA
    52765ff View commit details
    Browse the repository at this point in the history
  6. add basic dist nvcc test

    trxcllnt committed Dec 1, 2021
    Configuration menu
    Copy the full SHA
    c0e16b7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ca9b7ce View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2021

  1. Configuration menu
    Copy the full SHA
    8024345 View commit details
    Browse the repository at this point in the history