Skip to content

Implement JEP-18 let expression with lexical scoping #8

Implement JEP-18 let expression with lexical scoping

Implement JEP-18 let expression with lexical scoping #8

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
test:
name: Test (${{ matrix.rust }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust: [stable, beta, nightly]
steps:
- uses: actions/checkout@v4
- name: Install Rust ${{ matrix.rust }}
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Cache dependencies
uses: Swatinem/rust-cache@v2
- name: Check jmespath
run: cargo check
- name: Test jmespath
run: cargo test
- name: Test jmespath with let-expr feature
run: cargo test --features let-expr
- name: Test jmespath with specialized feature (nightly only)
if: matrix.rust == 'nightly'
run: cargo +nightly test --features specialized
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- name: Cache dependencies
uses: Swatinem/rust-cache@v2
- name: Run clippy on jmespath
run: cargo clippy -- -D warnings
- name: Run clippy on jmespath-cli
run: cargo clippy -- -D warnings
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Check formatting
run: cargo fmt -- --check
bench:
name: Benchmarks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust nightly
uses: dtolnay/rust-toolchain@nightly
- name: Cache dependencies
uses: Swatinem/rust-cache@v2
with:
workspaces: jmespath
- name: Run benchmarks
run: cargo bench