croaring 0.3.9

Rust wrapper for CRoaring
Documentation
sudo: false

language: rust

stages:
  - build
  - test
  - benchmark

jobs:
  include:
    - os: osx
      compiler: clang
      env:
        - CC=clang
      script:
        - cargo build -vv
      stage: build

      # - os: osx
      #   compiler: clang
      #   env:
      #     - CC=clang
      #     - TARGET=aarch64-apple-ios
      #   before_script:
      #     - rustup target add $TARGET
      #   script:
      #     - cargo build --target $TARGET -vv
      #   stage: build

    - os: osx
      compiler: gcc
      env:
        - CC=gcc
      script:
        - cargo build -vv
      stage: build

      # - os: linux
      #   dist: xenial
      #   compiler: clang
      #   addons:
      #     apt:
      #       sources:
      #         - ubuntu-toolchain-r-test
      #         - llvm-toolchain-xenial-3.8
      #       packages:
      #         - clang-3.8
      #   env:
      #     - CC=clang-3.8
      #     - TARGET=arm-linux-androideabi
      #   before_script:
      #     - rustup target add $TARGET
      #   script:
      #     - cargo build --target $TARGET -vv
      #   stage: build

    - os: linux
      dist: xenial
      compiler: clang
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-xenial-3.8
          packages:
            - clang-3.8
      env:
        - CC=clang-3.8
      script:
        - cargo build -vv
      stage: build

    - os: linux
      dist: xenial
      compiler: clang
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-xenial-3.9
          packages:
            - clang-3.9
      env:
        - CC=clang-3.9
      script:
        - cargo build -vv
      stage: build

    - os: linux
      dist: xenial
      compiler: clang
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-xenial-4.0
          packages:
            - clang-4.0
      env:
        - CC=clang-4.0
      script:
        - cargo build -vv
      stage: build

    - os: linux
      dist: xenial
      compiler: clang
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-xenial-5.0
          packages:
            - clang-5.0
      env:
        - CC=clang-5.0
      script:
        - cargo build -vv
      stage: build

    - os: linux
      dist: xenial
      compiler: clang
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-xenial-6.0
          packages:
            - clang-6.0
      env:
        - CC=clang-6.0
      script:
        - cargo build -vv
      stage: build

    - os: linux
      dist: xenial
      compiler: clang
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-xenial-7
          packages:
            - clang-7
      env:
        - CC=clang-7
      script:
        - cargo build -vv
      stage: build

    - os: linux
      compiler: gcc
      env:
        - CC=gcc
      script:
        - cargo build -vv
      stage: build

    - os: windows
      compiler: msvc
      script:
        - cargo build -vv
      stage: build

    - script:
      - |
        cd croaring-sys && cargo test
        cargo test --verbose
      rust: stable
      stage: test

    - script:
      - |
        cd croaring-sys && cargo test
        cargo test --verbose
      rust: beta
      stage: test

    - script:
      - |
        cd croaring-sys && cargo test
        cargo test --verbose
      rust: nightly
      stage: test

    - script:
      - cargo bench
      rust: nightly
      stage: benchmark