Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#package-ecosystem-

version: 2
updates:
# Check for Cargo package updates
- package-ecosystem: cargo
directory: /
schedule:
interval: weekly
# Check for Rust toolchain updates
- package-ecosystem: rust-toolchain
directory: /
schedule:
interval: weekly
# Check for GitHub Actions updates
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
11 changes: 11 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
name: Audit


on:
push:
branches:
- main
paths:
- "**/Cargo.toml"
- "**/Cargo.lock"
pull_request:
paths:
- "**/Cargo.toml"
- "**/Cargo.lock"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
security_audit:
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
name: Book Deployment

on:
push:
branches:
- main
paths:
- "book/**"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
publish:
runs-on: ubuntu-latest
Expand Down
88 changes: 55 additions & 33 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,81 +1,103 @@
name: ci

on: [push]
on:
push:
branches:
- main
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
cargo-tests:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly

- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: cargo test
run: cargo test --all
- name: cargo test all features
run: cargo test --all --all-features

# Install nextest
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest

- name: Run tests (all features)
run: cargo nextest run --all --all-features --no-fail-fast

- name: Run doc tests
run: cargo test --doc --all --all-features

cargo-lint:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly
components: rustfmt, clippy

- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: cargo fmt

- name: Check formatting
run: cargo +nightly fmt --all -- --check
- name: cargo clippy
run: cargo +nightly clippy --all --all-features -- -D warnings

- name: Run clippy
run: cargo +nightly clippy --all --all-features --all-targets -- -D warnings

cargo-build:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 20
continue-on-error: true
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly

- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: build
id: build
continue-on-error: true
run: cargo build --all

- name: Build all crates
run: cargo build --all --all-features

- name: Build release
run: cargo build --all --all-features --release

cargo-doc:
runs-on: ubuntu-latest
timeout-minutes: 20
continue-on-error: true
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly

- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly

- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: doclint
id: build
continue-on-error: true
run: RUSTDOCFLAGS="-D warnings" cargo doc --all --no-deps --all-features --document-private-items
- name: doctest
run: cargo test --doc --all --all-features

- name: Check documentation
run: RUSTDOCFLAGS="-D warnings" cargo +nightly doc --all --no-deps --all-features --document-private-items
env:
RUSTDOCFLAGS: "-D warnings"
4 changes: 4 additions & 0 deletions .github/workflows/cross-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name: Cross Release
on:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
extract-version:
runs-on: ubuntu-latest
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/github-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@ on:
workflow_dispatch:
push:
tags:
- "*"
- "v*"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
extract-crate-version:
Expand Down
21 changes: 0 additions & 21 deletions .github/workflows/manual-tag.yml

This file was deleted.

4 changes: 4 additions & 0 deletions .github/workflows/validate-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ on:
- main
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
extract-github-tag:
runs-on: ubuntu-latest
Expand Down
Loading