name: CI
on: [push]
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - run: rustup update stable
- run: rustup default stable
- run: cargo check --all-targets
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - run: rustup update stable
- run: rustup default stable
- run: cargo test --all
msrv:
name: MSRV
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - run: rustup toolchain install 1.96 --profile minimal
- run: rustup default 1.96
- run: cargo build --all-targets
lints:
name: Lints
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - run: rustup update stable
- run: rustup default stable
- run: rustup component add rustfmt clippy
- run: cargo fmt --all -- --check
- run: cargo clippy --all-targets -- -D warnings
- name: Doc
env:
RUSTDOCFLAGS: -D warnings
run: cargo doc --no-deps
efmt:
name: efmt
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - name: Install efmt
run: |
set -euo pipefail
gh release download --repo sile/efmt --pattern "efmt-*.x86_64-unknown-linux-musl"
mkdir -p "$HOME/.local/bin"
install -m 0755 efmt-*.x86_64-unknown-linux-musl "$HOME/.local/bin/efmt"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Check rule fixtures
run: |
set -euo pipefail
efmt -c $(git ls-files 'rules/**/*.erl')