diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index db6b98a..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,55 +0,0 @@ -version: 2 - -jobs: - build: - docker: - - image: cimg/rust:1.65.0 - steps: - - checkout - - run: - name: Setup Rust - command: | - rustup toolchain uninstall nightly - rustup toolchain install nightly -c miri rust-src rustfmt - - run: - name: Version information - command: | - rustc --version - cargo --version - rustc +nightly --version - cargo +nightly --version - rustup --version - - run: - name: Calculate dependencies - command: cargo generate-lockfile - - restore_cache: - keys: - - cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }} - - run: - name: Check Formatting - command: | - rustfmt --version - cargo fmt --all -- --check --color=auto - - run: - name: Build all targets - command: cargo build --all --all-targets - - run: - name: Run all tests - command: cargo test --all --all-features - - run: - name: Run all tests under miri - command: | - cargo +nightly miri test --all-features - - run: - name: Run all tests under sanitizers - command: | - RUSTDOCFLAGS=-Cunsafe-allow-abi-mismatch=sanitizer RUSTFLAGS="-Z sanitizer=address" cargo +nightly -Z build-std test --target x86_64-unknown-linux-gnu --all-features - RUSTDOCFLAGS=-Cunsafe-allow-abi-mismatch=sanitizer RUSTFLAGS="-Z sanitizer=leak" cargo +nightly test -Z build-std --target x86_64-unknown-linux-gnu --all-features - RUSTDOCFLAGS=-Cunsafe-allow-abi-mismatch=sanitizer RUSTFLAGS="-Z sanitizer=memory" cargo +nightly test -Z build-std --target x86_64-unknown-linux-gnu --all-features - - save_cache: - paths: - - /usr/local/cargo/registry - - target/debug/.fingerprint - - target/debug/build - - target/debug/deps - key: cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ca09d7..96aa992 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,6 +70,29 @@ jobs: - name: Check semver uses: obi1kenobi/cargo-semver-checks-action@v2 + miri: + name: Run all tests under miri + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@nightly + with: + components: miri + - run: cargo miri test --locked --all-features + + sanitizers: + name: Run all tests under sanitizers + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rust-src + - run: | + RUSTDOCFLAGS=-Cunsafe-allow-abi-mismatch=sanitizer RUSTFLAGS="-Z sanitizer=address" cargo -Z build-std test --locked --target x86_64-unknown-linux-gnu --all-features + RUSTDOCFLAGS=-Cunsafe-allow-abi-mismatch=sanitizer RUSTFLAGS="-Z sanitizer=leak" cargo test --locked -Z build-std --target x86_64-unknown-linux-gnu --all-features + RUSTDOCFLAGS=-Cunsafe-allow-abi-mismatch=sanitizer RUSTFLAGS="-Z sanitizer=memory" cargo test --locked -Z build-std --target x86_64-unknown-linux-gnu --all-features + audit: runs-on: ubuntu-latest steps: diff --git a/README.md b/README.md index 9272b0d..bd1475c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # hashlink -- HashMap-like containers that hold their key-value pairs in a user controllable order -[![Build Status](https://img.shields.io/circleci/project/github/kyren/hashlink.svg)](https://circleci.com/gh/kyren/hashlink) +[![Build status](https://github.com/djc/hashlink/workflows/CI/badge.svg)](https://github.com/djc/hashlink/actions?query=workflow%3ACI) [![Latest Version](https://img.shields.io/crates/v/hashlink.svg)](https://crates.io/crates/hashlink) [![API Documentation](https://docs.rs/hashlink/badge.svg)](https://docs.rs/hashlink) -This crate is a fork of +This crate is a fork of [linked-hash-map](https://github.com/contain-rs/linked-hash-map) that builds on top of [hashbrown](https://github.com/rust-lang/hashbrown) to implement more up to date versions of `LinkedHashMap` `LinkedHashSet`, and `LruCache`.