Skip to content

refactor: add semantic.yml file #49

refactor: add semantic.yml file

refactor: add semantic.yml file #49

Workflow file for this run

name: Rust
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
version: [ "1.65","stable", "nightly" ]
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v3
- name: Install toolchain
run: rustup toolchain install ${{ matrix.version }}
- name: Restore cache
uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.version }}-build
- name: Check the project
run: cargo check --workspace
lint:
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v3
- name: Install toolchain
run: |
rustup toolchain install nightly
rustup component add clippy --toolchain nightly-x86_64-unknown-linux-gnu
- name: Restore cache
uses: Swatinem/rust-cache@v2
with:
key: lint
- name: Lint the project
run: cargo +nightly clippy --workspace
test:
runs-on: ubuntu-latest
strategy:
matrix:
version: [ "1.65","stable", "nightly" ]
env:
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@v3
- name: Install toolchain
run: rustup toolchain install ${{ matrix.version }}
- name: Restore cache
uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.version }}-test
- name: Test the project
run: cargo test --workspace
format:
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@v3
- name: Install toolchain
run: rustup toolchain install nightly
- name: Restore cache
uses: Swatinem/rust-cache@v2
- name: Check crate source formatting
run: cargo fmt --all -- --check
- name: Check ui tests formatting
run: find tests/ -name "*.rs" -exec rustfmt --check {} +
readme-check:
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@v3
- name: Install jq
run: sudo apt-get install jq
- name: Install toolchain
run: rustup toolchain install nightly
- name: Restore cache
uses: Swatinem/rust-cache@v2
- name: Generate documentation JSON file
run: cargo +nightly rustdoc -- --output-format json -Zunstable-options
- name: Compare README with crate-level documentation
run: cat target/doc/expandable.json | jq ".index[.root].docs" -r | cmp README.md -