Fix the CI for MSRV 1.60 #1785
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
paths-ignore: | |
- '.devcontainer/**' | |
- '.gitpod.yml' | |
- '.vscode/**' | |
pull_request: | |
paths-ignore: | |
- '.devcontainer/**' | |
- '.gitpod.yml' | |
- '.vscode/**' | |
schedule: | |
# Run against the last commit on the default branch on Friday at 8pm (UTC?) | |
- cron: '0 20 * * 5' | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- stable | |
- beta | |
- 1.60.0 # MSRV | |
- nightly # For checking minimum version dependencies. | |
steps: | |
- name: Checkout Moka | |
uses: actions/checkout@v2 | |
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources | |
# 2-core CPU (x86_64), 7 GB of RAM | |
- name: Show CPU into | |
run: | | |
nproc | |
lscpu | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
override: true | |
components: rustfmt, clippy | |
- uses: Swatinem/rust-cache@v1 | |
- name: cargo clean | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clean | |
- name: Downgrade dependencies to minimal versions (Nightly only) | |
uses: actions-rs/cargo@v1 | |
if: ${{ matrix.rust == 'nightly' }} | |
with: | |
command: update | |
args: -Z minimal-versions | |
- name: Pin some dependencies to specific versions (Nightly only) | |
if: ${{ matrix.rust == 'nightly' }} | |
run: ./.ci_extras/pin-crate-vers-nightly.sh | |
- name: Pin some dependencies to specific versions (MSRV only) | |
if: ${{ matrix.rust == '1.60.0' }} | |
run: ./.ci_extras/pin-crate-vers-msrv.sh | |
- name: Show cargo tree | |
uses: actions-rs/cargo@v1 | |
with: | |
command: tree | |
args: --features 'future, dash' | |
- name: Run tests (debug, sync feature) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features sync | |
env: | |
RUSTFLAGS: '--cfg rustver' | |
- name: Run tests (release, sync feature) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --release --features sync | |
env: | |
RUSTFLAGS: '--cfg rustver' | |
- name: Run tests (sync feature, thread-pool test for sync::Cache) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --release --lib --features sync sync::cache::tests::enabling_and_disabling_thread_pools -- --exact --ignored | |
- name: Run tests (sync feature, thread-pool test for sync::SegmentCache) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --release --lib --features sync sync::segment::tests::enabling_and_disabling_thread_pools -- --exact --ignored | |
- name: Run tests (sync feature, key lock test for notification) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --release --lib --features sync sync::cache::tests::test_key_lock_used_by_immediate_removal_notifications -- --exact --ignored | |
- name: Run tests (sync feature, drop value after eviction) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --release --lib --features sync sync::cache::tests::drop_value_immediately_after_eviction -- --exact --ignored | |
- name: Run tests (future feature, but no sync feature) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --no-default-features --features 'future, atomic64, quanta' | |
- name: Run tests (future, sync and logging features) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features 'future, sync, logging' | |
- name: Run tests (dash feature, but no sync feature) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --no-default-features --features 'dash, atomic64, quanta' |