Skip to content

ts → rs

ts → rs #1485

Workflow file for this run

on:
push:
branches:
- main
paths:
- "**/*.rs"
- "**/Cargo.toml"
- Cargo.lock
pull_request:
name: ci·rs
concurrency:
group: ci/rs/${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
check:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo check
env:
RUSTFLAGS: "-D warnings"
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check
clippy:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- run: cargo clippy --all-features
env:
RUSTFLAGS: "-D warnings"
test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo test --all-features
env:
RUSTFLAGS: "-D warnings"
smoke:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
needs: [check]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo run --all-features -- git --version
coverage:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo install cargo-tarpaulin
- run: cargo tarpaulin -o lcov --output-dir coverage
- uses: coverallsapp/github-action@v2
with:
path-to-lcov: coverage/lcov.info
parallel: true
flag-name: ${{ matrix.os }}
upload-coverage:
needs: coverage
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- uses: coverallsapp/github-action@v2
with:
parallel-finished: true