name: CI on: push: branches: ['main'] pull_request: schedule: - cron: "32 4 * * 5" jobs: Test: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] rust: [stable, beta] exclude: - os: macos-latest rust: beta - os: windows-latest rust: beta runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - uses: Swatinem/rust-cache@v2 - run: cargo build --all-targets - run: cargo test Package: strategy: matrix: package: [ askama, askama_actix, askama_axum, askama_derive, askama_escape, askama_gotham, askama_hyper, askama_mendes, askama_parser, askama_poem, askama_rocket, askama_tide, askama_warp, testing, ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: Swatinem/rust-cache@v2 - run: cd ${{ matrix.package }} && cargo test --all-targets - run: cd ${{ matrix.package }} && cargo clippy --all-targets -- -D warnings Lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - uses: Swatinem/rust-cache@v2 - run: cargo fmt --all -- --check - run: cargo clippy --all-targets -- -D warnings MSRV: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: "1.65.0" - run: cargo check --lib -p askama --all-features Audit: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: EmbarkStudios/cargo-deny-action@v1