c-api-tools 0.1.0

Tools for the creation of C API bindings.
Documentation
name: 🧪

on:
  push:
    branches:
      - "**"
  pull_request:
    branches:
      - main
  merge_group:

jobs:
  run-tests-rust:
    name: Run Rust tests
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust-version: ["stable"]
        feature-flags: ['--features "strict"']
    steps:
      - name: Set up Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: ${{ matrix.rust-version }}
          components: rustfmt
      - uses: actions/checkout@v3

      - name: Run unit tests
        run: cargo test ${{ matrix.feature-flags }}
      - name: Run unit tests in release mode
        run: cargo test --release ${{ matrix.feature-flags }}

  check-dependencies:
    name: Check dependencies
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust-version: ["stable"]
    steps:
      - name: Set up Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: ${{ matrix.rust-version }}
          components: rustfmt
      - name: Install cargo-upgrades
        run: cargo install cargo-upgrades
      - uses: actions/checkout@v3
      - name: Check that dependencies are up to date
        run:
          cargo upgrades