Skip to content

CI: Replace Cirrus CI with paid AWS CodeBuild for Linux arm64 testing #13

CI: Replace Cirrus CI with paid AWS CodeBuild for Linux arm64 testing

CI: Replace Cirrus CI with paid AWS CodeBuild for Linux arm64 testing #13

Workflow file for this run

name: Codecov
on:
pull_request:
paths-ignore:
- '.devcontainer/**'
- '.gitpod.yml'
- '.vscode/**'
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout Moka
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Run tests (sync and future features)
run: cargo llvm-cov --no-report --features 'sync, future'
env:
RUSTFLAGS: '--cfg rustver'
- name: Run tests (no quanta feature)
run: cargo llvm-cov --no-report --no-default-features --features 'sync, future, atomic64'
env:
RUSTFLAGS: '--cfg rustver'
- name: Run tests (sync feature, key lock test for notification)
run: |
cargo llvm-cov --no-report --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 for sync::Cache)
run: |
cargo llvm-cov --no-report --lib --features sync \
-- sync::cache::tests::drop_value_immediately_after_eviction \
--exact --ignored
- name: Run tests (sync feature, drop value after eviction for sync::SegmentedCache)
run: |
cargo llvm-cov --no-report --lib --features sync \
-- sync::segment::tests::drop_value_immediately_after_eviction \
--exact --ignored
- name: Run tests (sync feature, drop cache)
run: |
cargo llvm-cov --no-report --lib --features sync \
-- sync::cache::tests::ensure_gc_runs_when_dropping_cache \
--exact --ignored
- name: Generate coverage report
run: cargo llvm-cov report --lcov --output-path lcov.info
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
files: ./lcov.info
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}