name: Testing
on:
push:
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
ci:
name: CI
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- id: checkout
name: Checkout Repository
uses: actions/checkout@v6
- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt, clippy
- id: node
name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
- id: cache
name: Enable Job Cache
uses: Swatinem/rust-cache@v2
- id: fetch
name: Download Dependencies
run: cargo fetch --verbose
- id: linter
name: Install Internal Linter
run: cargo install --locked --git https://github.com/torrust/torrust-linting --bin linter
- id: lint
name: Run All Linters
run: linter all
- id: test-docs
name: Run Documentation Tests
run: cargo test --doc
- id: test
name: Run Tests
run: cargo test --tests --all-targets --all-features