288: Stop tracking the Cargo.lock and add cache + windows to the CI r=curquiza a=irevoire

We reuse the same `~/.cargo` and `./target` directory between each run on the same OS and rust toolchain.
The `key` to decide if we can use the cache or not is: `$OS_NAME-$RUST_TOOLCHAIN-$HASH(Cargo.toml)`

We also removed the `Cargo.lock` from this repository. Indeed, milli is a library and [should not track the `Cargo.lock`](https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html)

And finally, we enabled the tests on `windows-latest`. Since `lmdb` has been updated, this is now possible.

Co-authored-by: Tamo <tamo@meilisearch.com>
This commit is contained in:
bors[bot] 2021-07-26 14:22:19 +00:00 committed by GitHub
commit 4ab7ca0e83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 3253 deletions

View File

@ -16,13 +16,21 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-18.04, macos-latest]
os: [ubuntu-18.04, macos-latest, windows-latest]
rust:
- stable
- beta
- nightly
steps:
- uses: actions/checkout@v2
- name: Cache dependencies
uses: actions/cache@v2
with:
path: |
~/.cargo
./Cargo.lock
./target
key: ${{ matrix.os }}-${{ matrix.rust }}-${{ hashFiles('Cargo.toml') }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
@ -32,34 +40,26 @@ jobs:
uses: actions-rs/cargo@v1
with:
command: check
args: --all --locked
args: --all
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --release
# We don't run test on Windows since we get the following error: There is not enough space on the disk.
check-on-windows:
name: Cargo check on Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Run cargo check without any default features
uses: actions-rs/cargo@v1
with:
command: check
args: --all --locked
- name: Run cargo check with all default features
uses: actions-rs/cargo@v1
with:
command: check
args: --release
fmt:
name: Run Rustfmt
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Cache dependencies
uses: actions/cache@v2
with:
path: |
~/.cargo
./Cargo.lock
./target
key: ${{ matrix.os }}-${{ matrix.rust}}-${{ hashFiles('Cargo.toml') }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal

3233
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
status = [
'Tests on ubuntu-18.04 with stable',
'Tests on macos-latest with stable',
'Cargo check on Windows',
'Tests on windows-latest with stable',
'Run Rustfmt',
]
# 3 hours timeout