sqlite-plugin 0.5.0

A Rust crate for building a custom SQLite virtual file system (VFS).
Documentation
name: CI

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

env:
  CARGO_TERM_COLOR: always

permissions:
  contents: read
  checks: write

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: system dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y clang libclang-dev llvm mold libncurses-dev build-essential

      - uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1
        with:
          toolchain: 1.85
          components: clippy, rustfmt

      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
        with:
          token: ${{secrets.GITHUB_TOKEN}}

      - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2

      - name: Install Nextest
        run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C /usr/local/bin

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

      - name: Test
        run: cargo nextest run --all-features

      - name: Test memvfs
        run: |
          cargo build --example memvfs --features dynamic
          cat examples/test_memvfs.sql | sqlite3

      - name: Clippy
        uses: auguwu/clippy-action@94a9ff2f6920180b89e5c03d121d0af04a9d3e03 # 1.4.0
        with:
          token: ${{secrets.GITHUB_TOKEN}}

      - name: Cargo fmt
        run: cargo fmt --check

      - name: Cargo doctests
        run: cargo test --doc