arrow2 0.18.0

Unofficial implementation of Apache Arrow spec in safe Rust
Documentation
name: Coverage

on: [pull_request, push]

jobs:
  coverage:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true # needed to test IPC, which are located in a submodule
      - name: Install Rust
        run: rustup toolchain install stable --component llvm-tools-preview
      - name: Install cargo-llvm-cov
        uses: taiki-e/install-action@cargo-llvm-cov
      - name: Setup parquet files
        run: |
          apt update && apt install python3-pip python3-venv -y -q
          python3 -m venv venv
          source venv/bin/activate
          pip install pip --upgrade
          pip install pyarrow==6 pyorc
          python parquet_integration/write_parquet.py
          python tests/it/io/orc/write.py
          deactivate
      - uses: Swatinem/rust-cache@v1
      - name: Generate code coverage
        run: cargo llvm-cov --features full --lcov --output-path lcov.info
      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v1
        with:
          token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
          files: lcov.info
          fail_ci_if_error: true