diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index d82a71b5988..5094b2af6d2 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -10,8 +10,9 @@ jobs: - name: Checkout Arrow uses: actions/checkout@v2 with: - repository: apache/arrow + repository: emkornfield/arrow submodules: true + ref: interval fetch-depth: 0 # this is temporary: once rust is removed from `apache/arrow`, we are good to go. - name: Remove Rust from arrow @@ -25,6 +26,9 @@ jobs: # which is incompatible with this. Let's monkey patch it - name: Fix compilation run: cp rust/integration-testing/rust_build.sh ci/scripts/rust_build.sh + # unskip many of the tests + - name: Test more cases + run: git apply rust/integration-testing/unskip.patch - name: Setup Python uses: actions/setup-python@v1 with: diff --git a/integration-testing/Cargo.toml b/integration-testing/Cargo.toml index deedd34193b..80ca29ea64b 100644 --- a/integration-testing/Cargo.toml +++ b/integration-testing/Cargo.toml @@ -30,7 +30,7 @@ publish = false logging = ["tracing-subscriber"] [dependencies] -arrow2 = { path = "../", features = ["io_ipc", "io_json_integration"], default-features = false } +arrow2 = { path = "../", features = ["io_ipc", "io_ipc_compression", "io_json_integration"], default-features = false } arrow-flight = { path = "../arrow-flight" } async-trait = "0.1.41" clap = "2.33" diff --git a/integration-testing/unskip.patch b/integration-testing/unskip.patch new file mode 100644 index 00000000000..635749bf04d --- /dev/null +++ b/integration-testing/unskip.patch @@ -0,0 +1,55 @@ +diff --git a/dev/archery/archery/integration/datagen.py b/dev/archery/archery/integration/datagen.py +index d0c4b3d6c..5f065e0ea 100644 +--- a/dev/archery/archery/integration/datagen.py ++++ b/dev/archery/archery/integration/datagen.py +@@ -1568,8 +1568,7 @@ def get_generated_json_files(tempdir=None): + .skip_category('Go') # TODO(ARROW-7901) + .skip_category('JS'), # TODO(ARROW-7900) + +- generate_decimal128_case() +- .skip_category('Rust'), ++ generate_decimal128_case(), + + generate_decimal256_case() + .skip_category('Go') # TODO(ARROW-7948): Decimal + Go +@@ -1579,13 +1578,11 @@ def get_generated_json_files(tempdir=None): + generate_datetime_case(), + + generate_interval_case() +- .skip_category('JS') # TODO(ARROW-5239): Intervals + JS +- .skip_category('Rust'), ++ .skip_category('JS'), # TODO(ARROW-5239): Intervals + JS, + + generate_month_day_nano_interval_case() + .skip_category('Go') +- .skip_category('JS') +- .skip_category('Rust'), ++ .skip_category('JS'), + + + generate_map_case() +@@ -1603,8 +1600,7 @@ def get_generated_json_files(tempdir=None): + + generate_nested_large_offsets_case() + .skip_category('Go') +- .skip_category('JS') +- .skip_category('Rust'), ++ .skip_category('JS'), + + generate_unions_case() + .skip_category('Go') +diff --git a/dev/archery/archery/integration/runner.py b/dev/archery/archery/integration/runner.py +index 6f4c1385a..b46597232 100644 +--- a/dev/archery/archery/integration/runner.py ++++ b/dev/archery/archery/integration/runner.py +@@ -132,10 +132,8 @@ class IntegrationRunner(object): + skip.add("Go") + skip.add("Java") + skip.add("JS") +- skip.add("Rust") + if prefix == '2.0.0-compression': + skip.add("JS") +- skip.add("Rust") + + # See https://github.com/apache/arrow/pull/9822 for how to + # disable specific compression type tests.