version: 2 jobs: build: docker: - image: circleci/rust:latest steps: - checkout - run: name: Version information command: rustc --version; cargo --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: | rustup component add rustfmt rustfmt --version cargo fmt --all -- --check --color=auto - run: name: Install Lua command: | sudo apt-get update sudo apt-get -y --no-install-recommends install liblua5.3-dev liblua5.2-dev liblua5.1-0-dev libluajit-5.1-dev - run: name: Build all targets command: cargo build --all --all-targets - run: name: Run all tests / Lua 5.3 command: cargo test --all --no-default-features --features lua53 - run: name: Run all tests / Lua 5.2 command: cargo test --all --no-default-features --features lua52 - run: name: Run all tests / Lua 5.1 command: cargo test --all --no-default-features --features lua51 - run: name: Run all tests / LuaJIT command: cargo test --all --no-default-features --features luajit - save_cache: paths: - /usr/local/cargo/registry - target/debug/.fingerprint - target/debug/build - target/debug/deps key: cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }}