Skip to content

add extend_dictionary in dictionary builder for improved performanc… #7785

add extend_dictionary in dictionary builder for improved performanc…

add extend_dictionary in dictionary builder for improved performanc… #7785

Workflow file for this run

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# tests for arrow crate
name: arrow
concurrency:
group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true
on:
# always trigger
push:
branches:
- main
pull_request:
paths:
- .github/**
- arrow-arith/**
- arrow-array/**
- arrow-buffer/**
- arrow-cast/**
- arrow-csv/**
- arrow-data/**
- arrow-integration-test/**
- arrow-ipc/**
- arrow-json/**
- arrow-avro/**
- arrow-ord/**
- arrow-row/**
- arrow-schema/**
- arrow-select/**
- arrow-string/**
- arrow/**
jobs:
# test the crate
linux-test:
name: Test
runs-on: ubuntu-latest
container:
image: amd64/rust
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
- name: Test arrow-buffer
run: cargo test -p arrow-buffer --all-features
- name: Test arrow-data
run: cargo test -p arrow-data --all-features
- name: Test arrow-schema
run: cargo test -p arrow-schema --all-features
- name: Test arrow-array
run: cargo test -p arrow-array --all-features
- name: Test arrow-select
run: cargo test -p arrow-select --all-features
- name: Test arrow-cast
run: cargo test -p arrow-cast --all-features
- name: Test arrow-ipc
run: cargo test -p arrow-ipc --all-features
- name: Test arrow-csv
run: cargo test -p arrow-csv --all-features
- name: Test arrow-json
run: cargo test -p arrow-json --all-features
- name: Test arrow-avro
run: cargo test -p arrow-avro --all-features
- name: Test arrow-string
run: cargo test -p arrow-string --all-features
- name: Test arrow-ord
run: cargo test -p arrow-ord --all-features
- name: Test arrow-arith
run: cargo test -p arrow-arith --all-features
- name: Test arrow-row
run: cargo test -p arrow-row --all-features
- name: Test arrow-integration-test
run: cargo test -p arrow-integration-test --all-features
- name: Test arrow with default features
run: cargo test -p arrow
- name: Test arrow except pyarrow
run: cargo test -p arrow --features=force_validate,prettyprint,ipc_compression,ffi,chrono-tz
- name: Run examples
run: |
# Test arrow examples
cargo run --example builders
cargo run --example dynamic_types
cargo run --example read_csv
cargo run --example read_csv_infer_schema
- name: Run non-archery based integration-tests
run: cargo test -p arrow-integration-testing
# test compilation features
linux-features:
name: Check Compilation
runs-on: ubuntu-latest
container:
image: amd64/rust
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
- name: Check compilation
run: cargo check -p arrow
- name: Check compilation --no-default-features
run: cargo check -p arrow --no-default-features
- name: Check compilation --all-targets
run: cargo check -p arrow --all-targets
- name: Check compilation --no-default-features --all-targets
run: cargo check -p arrow --no-default-features --all-targets
- name: Check compilation --no-default-features --all-targets --features test_utils
run: cargo check -p arrow --no-default-features --all-targets --features test_utils
- name: Check compilation --no-default-features --all-targets --features ffi
run: cargo check -p arrow --no-default-features --all-targets --features ffi
- name: Check compilation --no-default-features --all-targets --features chrono-tz
run: cargo check -p arrow --no-default-features --all-targets --features chrono-tz
# test the arrow crate builds against wasm32 in nightly rust
wasm32-build:
name: Build wasm32
runs-on: ubuntu-latest
container:
image: amd64/rust
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
with:
target: wasm32-unknown-unknown,wasm32-wasi
- name: Build wasm32-unknown-unknown
run: cargo build -p arrow --no-default-features --features=json,csv,ipc,ffi --target wasm32-unknown-unknown
- name: Build wasm32-wasi
run: cargo build -p arrow --no-default-features --features=json,csv,ipc,ffi --target wasm32-wasi
clippy:
name: Clippy
runs-on: ubuntu-latest
container:
image: amd64/rust
steps:
- uses: actions/checkout@v4
- name: Setup Rust toolchain
uses: ./.github/actions/setup-builder
- name: Setup Clippy
run: rustup component add clippy
- name: Clippy arrow-buffer
run: |
mod=arrow-buffer
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-data
run: |
mod=arrow-data
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-schema
run: |
mod=arrow-schema
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-array
run: |
mod=arrow-array
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-select
run: |
mod=arrow-select
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-cast
run: |
mod=arrow-cast
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-ipc
run: |
mod=arrow-ipc
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-csv
run: |
mod=arrow-csv
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-json
run: |
mod=arrow-json
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-avro
run: |
mod=arrow-avro
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-string
run: |
mod=arrow-string
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-ord
run: |
mod=arrow-ord
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-arith
run: |
mod=arrow-arith
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-row
run: |
mod=arrow-row
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow
run: |
mod=arrow
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-integration-test
run: |
mod=arrow-integration-test
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies
- name: Clippy arrow-integration-testing
run: |
mod=arrow-integration-testing
cargo clippy -p "$mod" --all-targets --all-features -- -D warnings
# Dependency checks excluding tests & benches.
cargo clippy -p "$mod" -- -D unused_crate_dependencies
cargo clippy -p "$mod" --all-features -- -D unused_crate_dependencies
cargo clippy -p "$mod" --no-default-features -- -D unused_crate_dependencies