obsidian-export/.github/workflows/test.yml

81 lines
1.8 KiB
YAML

on: [push, pull_request]
name: CI tests
jobs:
linting:
name: Run lints
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- run: rustup component add rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- uses: actions-rs/cargo@v1
with:
command: check
- run: rustup component add clippy
- uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
test-linux:
name: Test on Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: test
test-windows:
name: Test on Windows
runs-on: windows-latest
steps:
- run: git config --system core.autocrlf false && git config --system core.eol lf
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: test
coverage:
name: Code coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/tarpaulin@v0.1
with:
version: "latest"
args: "--ignore-tests"
out-type: "Html"
- uses: actions/upload-artifact@v3
with:
name: tarpaulin-report
path: tarpaulin-report.html