cassandra-cpp-sys 1.1.1

A bindgen-generated Rust wrapper around the DataStax Cassandra C++ driver plus working examples. You probably want to use the "cassandra-cpp" crate which provides a safe wrapper.
Documentation
name: Build

on: [push,pull_request]

jobs:
  build-and-test:
    services:
      cassandra:
        image: cassandra:3.11.12
        ports:
          - 9042:9042
    strategy:
      matrix:
        include:
          - name: Ubuntu 20.04 - Release
            runner: ubuntu-20.04
            cargo_flags: --release

          - name: Ubuntu 22.04 - Release
            runner: ubuntu-22.04
            cargo_flags: --release

          - name: Ubuntu 20.04 - Debug
            runner: ubuntu-20.04
            cargo_flags:

          - name: Ubuntu 22.04 - Debug
            runner: ubuntu-22.04
            cargo_flags:

    name: ${{ matrix.name }}
    runs-on: ${{ matrix.runner }}
    steps:
      - uses: actions/checkout@v2
        with:
          # Need all history so we can validate the commits.
          fetch-depth: 0

      # Enforce that all new commits are signed off according to the DCO,
      # per CONTRIBUTING.md. Prior commits are either pre-fork, are signed off,
      # or were made by Keith Wansbrough, who hereby certifies the DCO with regard
      # to each such commit.
      - run: |
          DCO_SIGNING_BASE_COMMIT=f43fa8aeac397cfbd4a470f506581948e807013c
          git log ${DCO_SIGNING_BASE_COMMIT}.. --grep "^signed-off-by: .\+@.\+" --regexp-ignore-case --invert-grep --no-merges --pretty=oneline > tmp-unsigned-dco
          if [ -s tmp-unsigned-dco ] ; then
            echo '**One or more commits are not signed off! Unsigned commits:'
            cat tmp-unsigned-dco
            echo '**Please sign these commits and amend your PR.'
            /bin/false
          fi

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable

      - name: cache custom ubuntu packages
        uses: actions/cache@v3
        with:
          path: scripts/packages
          key: ubuntu-packages-${{ matrix.runner }}
      - run: scripts/install_ubuntu_packages.sh

      # Check we're clean and tidy. Allow floating-point comparisons because
      # we're testing round-tripping of values, which is safe.
      - run: cargo clippy --all-targets -- -A clippy::float_cmp
      - run: cargo fmt --all --check
      # We now build all the code, then test it.
      - run: cargo build --all ${{ matrix.cargo_flags }}
      # Tests must be run on a single thread since they share keyspaces and tables.
      - run: cargo test ${{ matrix.cargo_flags }} -- --test-threads 1