CI (Linux Arm64) #27
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 (Linux Arm64) | |
on: | |
workflow_dispatch: | |
schedule: | |
# Run against the last commit on the default branch on Friday at 8pm (UTC?) | |
- cron: '0 20 * * 5' | |
jobs: | |
test: | |
# Runs on AWS Graviton (arm64) runner at AWS CodeBuild. | |
# https://docs.aws.amazon.com/codebuild/latest/userguide/action-runner.html | |
# https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html | |
# arm64, 2 vCPUs, 3 GB RAM | |
# 100 build minutes free per month per AWS account | |
runs-on: codebuild-moka-arm64-runner-${{ github.run_id }}-${{ github.run_attempt }}-arm-3.0-small | |
steps: | |
- name: Checkout Moka | |
uses: actions/checkout@v4 | |
- name: Show CPU into | |
run: | | |
echo "nproc: $(nproc)" | |
free -m | |
lscpu | |
- name: Install Rust toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
- name: Show cargo tree | |
run: cargo tree --features 'sync, future' | |
- name: Run tests (debug, sync feature) | |
run: cargo test --features sync | |
env: | |
RUSTFLAGS: '--cfg rustver --cfg skip_large_mem_tests' | |
- name: Run tests (release, sync feature) | |
run: cargo test --release --features sync | |
env: | |
RUSTFLAGS: '--cfg rustver --cfg skip_large_mem_tests' | |
- name: Run tests (sync feature, key lock test for notification) | |
run: cargo test --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 for sync::Cache) | |
run: cargo test --release --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 test --release --lib --features sync sync::segment::tests::drop_value_immediately_after_eviction -- --exact --ignored | |
- name: Run tests (sync feature, drop cache) | |
run: cargo test --release --lib --features sync sync::cache::tests::ensure_gc_runs_when_dropping_cache -- --exact --ignored | |
- name: Run tests (future feature, but no sync feature) | |
run: cargo test --no-default-features --features 'future, atomic64, quanta' | |
env: | |
RUSTFLAGS: '--cfg skip_large_mem_tests' | |
- name: Run tests (future, sync and logging features) | |
run: cargo test --features 'future, sync, logging' | |
env: | |
RUSTFLAGS: '--cfg skip_large_mem_tests' |