Skip to content

chore: add missing license and rust-version to kodo_playground #172

chore: add missing license and rust-version to kodo_playground

chore: add missing license and rust-version to kodo_playground #172

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-D warnings"
jobs:
fmt:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- name: Install Z3
run: sudo apt-get update && sudo apt-get install -y libz3-dev
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --workspace -- -D warnings
test:
name: Test (${{ matrix.os }}, contracts=${{ matrix.contracts }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
contracts: [runtime]
include:
- os: ubuntu-latest
contracts: static
- os: ubuntu-latest
contracts: none
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install Z3 (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libz3-dev
- name: Install Z3 (macOS)
if: runner.os == 'macOS'
run: brew install z3
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.os }}-${{ matrix.contracts }}
- run: cargo build --workspace
- run: cargo test --workspace
- name: Run UI tests (kotest, contracts=${{ matrix.contracts }})
run: cargo run -p kotest -- tests/ui/ --contracts ${{ matrix.contracts }}
msrv:
name: MSRV (1.91)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.91"
- name: Install Z3
run: sudo apt-get update && sudo apt-get install -y libz3-dev
- uses: Swatinem/rust-cache@v2
with:
key: msrv
- run: cargo check --workspace
doc:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install Z3
run: sudo apt-get update && sudo apt-get install -y libz3-dev
- uses: Swatinem/rust-cache@v2
- run: cargo doc --workspace --no-deps
env:
RUSTDOCFLAGS: "-D warnings"
deny:
name: Cargo Deny
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v2
coverage:
name: Coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: llvm-tools-preview
- name: Install Z3
run: sudo apt-get update && sudo apt-get install -y libz3-dev
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- uses: Swatinem/rust-cache@v2
with:
key: coverage
- name: Generate coverage report
run: cargo llvm-cov --workspace --exclude kodoc --lcov --output-path lcov.info
- name: Coverage summary
run: cargo llvm-cov --workspace --exclude kodoc --summary-only
bench:
name: Benchmarks Compile
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install Z3
run: sudo apt-get update && sudo apt-get install -y libz3-dev
- uses: Swatinem/rust-cache@v2
- run: cargo bench --no-run
fuzz:
name: Fuzz (lexer + parser)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- name: Install Z3
run: sudo apt-get update && sudo apt-get install -y libz3-dev
- name: Install cargo-fuzz
run: cargo install cargo-fuzz
- uses: Swatinem/rust-cache@v2
with:
key: fuzz
- name: Fuzz lexer (60s)
run: cargo +nightly fuzz run fuzz_lexer -- -max_total_time=60
- name: Fuzz parser (60s)
run: cargo +nightly fuzz run fuzz_parser -- -max_total_time=60