This is an automated email from the ASF dual-hosted git repository.

agrove pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git


The following commit(s) were added to refs/heads/master by this push:
     new d2bc07d  Fix CI (#10)
d2bc07d is described below

commit d2bc07d35b5f83a29b0b75da72c0eea99a83154a
Author: Andy Grove <[email protected]>
AuthorDate: Sun Apr 18 20:04:40 2021 -0600

    Fix CI (#10)
    
    * Fixed CI.
    
    * More cleanup.
    
    * More cleanups.
    
    * More cleanups.
    
    * Bumped arrow to latest.
    
    * Always test.
    
    * trigger CI
    
    * Remove arrow-testing submodule
    
    * Add arrow-testing submodule
    
    * fix env var for AMD64 build
    
    * delete travis ci yaml
    
    Co-authored-by: Jorge C. Leitao <[email protected]>
---
 .github/workflows/archery.yml           |  64 ------
 .github/workflows/cancel.yml            |  77 -------
 .github/workflows/cpp.yml               | 395 --------------------------------
 .github/workflows/cpp_cron.yml          | 149 ------------
 .github/workflows/csharp.yml            | 121 ----------
 .github/workflows/dev.yml               |  63 +----
 .github/workflows/dev_pr/labeler.yml    |  52 -----
 .github/workflows/go.yml                | 125 ----------
 .github/workflows/integration.yml       |  83 -------
 .github/workflows/java.yml              | 112 ---------
 .github/workflows/java_jni.yml          |  83 -------
 .github/workflows/js.yml                | 122 ----------
 .github/workflows/julia.yml             |  53 -----
 .github/workflows/python.yml            | 154 -------------
 .github/workflows/python_cron.yml       | 141 ------------
 .github/workflows/r.yml                 | 255 ---------------------
 .github/workflows/ruby.yml              | 290 -----------------------
 .github/workflows/rust.yml              | 228 ++----------------
 .gitignore                              |   6 +
 .gitmodules                             |   6 +-
 .travis.yml                             | 165 -------------
 ballista/rust/benchmarks/tpch/README.md |   6 +-
 dev/.gitignore                          |   1 +
 dev/archery/archery/cli.py              |   5 +-
 dev/archery/archery/utils/source.py     |   8 +-
 dev/release/rat_exclude_files.txt       | 111 +--------
 arrow-testing => testing                |   0
 27 files changed, 48 insertions(+), 2827 deletions(-)

diff --git a/.github/workflows/archery.yml b/.github/workflows/archery.yml
deleted file mode 100644
index 761e045..0000000
--- a/.github/workflows/archery.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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.
-
-name: Archery & Crossbow
-
-on:
-  push:
-    paths:
-      - '.github/workflows/archery.yml'
-      - 'dev/archery/**'
-      - 'dev/tasks/**'
-      - 'docker-compose.yml'
-  pull_request:
-    paths:
-      - '.github/workflows/archery.yml'
-      - 'dev/archery/**'
-      - 'dev/tasks/**'
-      - 'docker-compose.yml'
-
-jobs:
-
-  test:
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    name: Archery Unittests and Crossbow Check Config
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Git Fixup
-        if: ${{ github.event_name == 'pull_request' }}
-        shell: bash
-        run: git branch master origin/master
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: '3.6'
-      - name: Install Archery, Crossbow- and Test Dependencies
-        run: pip install pytest responses -e dev/archery[all]
-      - name: Archery Unittests
-        working-directory: dev/archery
-        run: pytest -v archery
-      - name: Archery Docker Validation
-        run: archery docker
-      - name: Crossbow Check Config
-        working-directory: dev/tasks
-        run: archery crossbow check-config
diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml
index de980eb..e1c6ed9 100644
--- a/.github/workflows/cancel.yml
+++ b/.github/workflows/cancel.yml
@@ -31,20 +31,6 @@ jobs:
       # Unfortunately, we need to define a separate cancellation step for
       # each workflow where we want to cancel stale runs.
       - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale C++ runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: cpp.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale C# runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: csharp.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
         name: "Cancel stale Dev runs"
         with:
           cancelMode: allDuplicates
@@ -52,69 +38,6 @@ jobs:
           workflowFileName: dev.yml
           skipEventTypes: '["push", "schedule"]'
       - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale Go runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: go.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale Integration runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: integration.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale Java JNI runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: java_jni.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale Java runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: java.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale JS runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: js.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale Julia runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: julia.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale Python runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: python.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale R runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: r.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale Ruby runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: ruby.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
         name: "Cancel stale Rust runs"
         with:
           cancelMode: allDuplicates
diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml
deleted file mode 100644
index 0bcf346..0000000
--- a/.github/workflows/cpp.yml
+++ /dev/null
@@ -1,395 +0,0 @@
-# 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.
-
-name: C++
-
-on:
-  push:
-    paths:
-      - '.github/workflows/cpp.yml'
-      - 'ci/docker/**'
-      - 'ci/scripts/cpp_*'
-      - 'ci/scripts/msys2_*'
-      - 'ci/scripts/util_*'
-      - 'cpp/**'
-      - 'format/Flight.proto'
-  pull_request:
-    paths:
-      - '.github/workflows/cpp.yml'
-      - 'ci/docker/**'
-      - 'ci/scripts/cpp_*'
-      - 'ci/scripts/msys2_*'
-      - 'ci/scripts/util_*'
-      - 'cpp/**'
-      - 'format/Flight.proto'
-
-env:
-  ARROW_ENABLE_TIMING_TESTS: OFF
-  DOCKER_VOLUME_PREFIX: ".docker/"
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-
-  docker:
-    name: ${{ matrix.title }}
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        image:
-          - conda-cpp
-          - ubuntu-cpp-sanitizer
-        include:
-          - image: conda-cpp
-            title: AMD64 Conda C++
-          - image: ubuntu-cpp-sanitizer
-            title: AMD64 Ubuntu 20.04 C++ ASAN UBSAN
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: ${{ matrix.image }}-${{ hashFiles('cpp/**') }}
-          restore-keys: ${{ matrix.image }}-
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: |
-          sudo sysctl -w kernel.core_pattern="core.%e.%p"
-          ulimit -c unlimited
-          archery docker run ${{ matrix.image }}
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push ${{ matrix.image }}
-
-  docker-arm:
-    # NOTE: this job is specific for self-hosted runners
-    # CACHING: don't use the cache plugin because of various permission
-    #          issues and keep the cached docker volumes permanently on the
-    #          host
-    # PYTHON: no distributions are built for arm machines by the github
-    #         actions team, so python>3.6 must be preinstalled on the self
-    #         hosted machines
-    name: ${{ matrix.title }}
-    runs-on: ${{ matrix.runner }}
-    # TODO(kszucs): re-enable once the self-hosted workers are properly
-    # registered to github
-    if: false && github.event_name == 'push'
-    defaults:
-      # To use certain environment variables set by .bashrc, an interactive
-      # bash shell must be used
-      run:
-        shell: bash -i {0}
-    strategy:
-      fail-fast: false
-      matrix:
-        name:
-          - arm32v7-debian-10-cpp
-          - arm64v8-ubuntu-20.04-cpp
-        include:
-          - name: arm32v7-debian-10-cpp
-            debian: 10
-            title: ARM32v7 Debian 10 C++
-            image: |
-              -e CPP_MAKE_PARALLELISM=2 \
-              -e CXXFLAGS=-Wno-psabi \
-              -e ARROW_PARQUET=OFF \
-              -e ARROW_FLIGHT=OFF \
-              -e ARROW_GANDIVA=OFF \
-              -e ARROW_ORC=OFF \
-              -e CMAKE_ARGS=-DARROW_CPU_FLAG=armv7 \
-              debian-cpp
-            arch: 'arm32v7'
-            runner: [self-hosted, linux, ARM]
-          - name: arm64v8-ubuntu-20.04-cpp
-            ubuntu: 20.04
-            title: ARM64v8 Ubuntu 20.04 C++
-            image: |
-              -e CPP_MAKE_PARALLELISM=1 \
-              -e ARROW_PARQUET=OFF \
-              ubuntu-cpp
-            arch: 'arm64v8'
-            runner: [self-hosted, linux, ARM64]
-    env:
-      # the defaults here should correspond to the values in .env
-      ARCH: ${{ matrix.arch || 'arm64v8' }}
-      DEBIAN: ${{ matrix.debian || 10 }}
-      FEDORA: ${{ matrix.fedora || 32 }}
-      UBUNTU: ${{ matrix.ubuntu || 18.04 }}
-      LLVM: 8
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Setup Archery
-        run: pip install -U -e dev/archery[docker]
-      - name: Execute Docker Build
-        # parallelism is reduced because the ARM builders are low on memory
-        run: |
-          ulimit -c unlimited
-          archery docker run ${{ matrix.image }}
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push ${{ matrix.image }}
-
-  build-example:
-    name: C++ Minimal Build Example
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Run
-        run: |
-          cd cpp/examples/minimal_build
-          docker-compose run --rm minimal
-
-  macos:
-    name: AMD64 MacOS 10.15 C++
-    runs-on: macos-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-    env:
-      ARROW_BUILD_TESTS: ON
-      ARROW_DATASET: ON
-      ARROW_FLIGHT: ON
-      ARROW_GANDIVA: ON
-      ARROW_HDFS: ON
-      ARROW_HOME: /usr/local
-      ARROW_JEMALLOC: ON
-      # TODO(kszucs): link error in the tests
-      ARROW_ORC: OFF
-      ARROW_PARQUET: ON
-      ARROW_PLASMA: ON
-      ARROW_S3: ON
-      ARROW_WITH_BROTLI: ON
-      ARROW_WITH_BZ2: ON
-      ARROW_WITH_LZ4: ON
-      ARROW_WITH_SNAPPY: ON
-      ARROW_WITH_ZLIB: ON
-      ARROW_WITH_ZSTD: ON
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Install Dependencies
-        shell: bash
-        run: |
-          rm -f /usr/local/bin/2to3
-          brew update --preinstall
-          brew unlink gcc@8 gcc@9
-          brew bundle --file=cpp/Brewfile
-      - name: Build
-        shell: bash
-        run: ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
-      - name: Test
-        shell: bash
-        run: |
-          sudo sysctl -w kern.coredump=1
-          sudo sysctl -w kern.corefile=core.%N.%P
-          ulimit -c unlimited  # must enable within the same shell
-          ci/scripts/cpp_test.sh $(pwd) $(pwd)/build
-
-  windows:
-    name: AMD64 ${{ matrix.name }} C++
-    runs-on: ${{ matrix.os }}
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        os:
-          - windows-latest
-        include:
-          - os: windows-latest
-            name: Windows 2019
-            generator: Visual Studio 16 2019
-    env:
-      ARROW_BOOST_USE_SHARED: OFF
-      ARROW_BUILD_BENCHMARKS: ON
-      ARROW_BUILD_SHARED: ON
-      ARROW_BUILD_STATIC: OFF
-      ARROW_BUILD_TESTS: ON
-      ARROW_DATASET: ON
-      ARROW_FLIGHT: OFF
-      ARROW_HDFS: ON
-      ARROW_HOME: /usr
-      ARROW_JEMALLOC: OFF
-      ARROW_MIMALLOC: ON
-      ARROW_PARQUET: ON
-      ARROW_USE_GLOG: OFF
-      ARROW_VERBOSE_THIRDPARTY_BUILD: OFF
-      ARROW_WITH_BROTLI: OFF
-      ARROW_WITH_BZ2: OFF
-      ARROW_WITH_LZ4: OFF
-      ARROW_WITH_SNAPPY: ON
-      ARROW_WITH_ZLIB: ON
-      ARROW_WITH_ZSTD: ON
-      BOOST_SOURCE: BUNDLED
-      CMAKE_ARGS: '-A x64 -DOPENSSL_ROOT_DIR=C:\Program Files\OpenSSL-Win64'
-      CMAKE_GENERATOR: ${{ matrix.generator }}
-      CMAKE_INSTALL_LIBDIR: bin
-      CMAKE_INSTALL_PREFIX: /usr
-      CMAKE_UNITY_BUILD: ON
-      NPROC: 2
-    steps:
-      - name: Disable Crash Dialogs
-        run: |
-          reg add `
-            "HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
-            /v DontShowUI `
-            /t REG_DWORD `
-            /d 1 `
-            /f
-      - name: Installed Packages
-        run: choco list -l
-      - name: Install Dependencies
-        run: choco install -y --no-progress openssl
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Build
-        shell: bash
-        run: |
-          ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
-      - name: Test
-        shell: bash
-        run: ci/scripts/cpp_test.sh $(pwd) $(pwd)/build
-
-  windows-mingw:
-    name: AMD64 Windows MinGW ${{ matrix.mingw-n-bits }} C++
-    runs-on: windows-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        mingw-n-bits:
-          - 32
-          - 64
-    env:
-      ARROW_BUILD_SHARED: ON
-      ARROW_BUILD_STATIC: OFF
-      ARROW_BUILD_TESTS: ON
-      ARROW_BUILD_TYPE: release
-      ARROW_DATASET: ON
-      ARROW_FLIGHT: ON
-      ARROW_GANDIVA: ON
-      ARROW_HDFS: OFF
-      ARROW_HOME: /mingw${{ matrix.mingw-n-bits }}
-      ARROW_JEMALLOC: OFF
-      ARROW_PARQUET: ON
-      ARROW_PYTHON: ON
-      ARROW_S3: ON
-      ARROW_USE_GLOG: OFF
-      ARROW_VERBOSE_THIRDPARTY_BUILD: OFF
-      ARROW_WITH_BROTLI: ON
-      ARROW_WITH_BZ2: ON
-      ARROW_WITH_LZ4: ON
-      ARROW_WITH_SNAPPY: ON
-      ARROW_WITH_ZLIB: ON
-      ARROW_WITH_ZSTD: ON
-      # Don't use preinstalled Boost by empty BOOST_ROOT and
-      # -DBoost_NO_BOOST_CMAKE=ON
-      BOOST_ROOT: ""
-      CMAKE_ARGS: >-
-        -DARROW_PACKAGE_PREFIX=/mingw${{ matrix.mingw-n-bits }}
-        -DBoost_NO_BOOST_CMAKE=ON
-      CMAKE_UNITY_BUILD: ON
-    steps:
-      - name: Disable Crash Dialogs
-        run: |
-          reg add `
-            "HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
-            /v DontShowUI `
-            /t REG_DWORD `
-            /d 1 `
-            /f
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - uses: msys2/setup-msys2@v2
-        with:
-          msystem: MINGW${{ matrix.mingw-n-bits }}
-          update: true
-      - name: Setup MSYS2
-        shell: msys2 {0}
-        run: |
-          ci/scripts/msys2_setup.sh cpp
-      - name: Cache ccache
-        uses: actions/cache@v2
-        with:
-          path: ccache
-          key: cpp-ccache-mingw${{ matrix.mingw-n-bits }}-${{ 
hashFiles('cpp/**') }}
-          restore-keys: cpp-ccache-mingw${{ matrix.mingw-n-bits }}-
-      - name: Build
-        shell: msys2 {0}
-        run: |
-          export CMAKE_BUILD_PARALLEL_LEVEL=$NUMBER_OF_PROCESSORS
-          ci/scripts/cpp_build.sh "$(pwd)" "$(pwd)/build"
-      - name: Download MinIO
-        shell: msys2 {0}
-        run: |
-          mkdir -p /usr/local/bin
-          wget \
-            --output-document /usr/local/bin/minio.exe \
-            https://dl.min.io/server/minio/release/windows-amd64/minio.exe
-          chmod +x /usr/local/bin/minio.exe
-      - name: Test
-        shell: msys2 {0}
-        run: |
-          python_version=$(python -c "import sys; print('.'.join(map(str, 
sys.version_info[0:2])))")
-          export PYTHONHOME="$(cygpath --windows 
${MINGW_PREFIX})\lib\python${python_version}"
-          PYTHONPATH="${PYTHONHOME}"
-          PYTHONPATH="${PYTHONPATH};${PYTHONHOME}\lib-dynload"
-          PYTHONPATH="${PYTHONPATH};${PYTHONHOME}\site-packages"
-          export PYTHONPATH
-          ci/scripts/cpp_test.sh "$(pwd)" "$(pwd)/build"
diff --git a/.github/workflows/cpp_cron.yml b/.github/workflows/cpp_cron.yml
deleted file mode 100644
index 9e4f3cf..0000000
--- a/.github/workflows/cpp_cron.yml
+++ /dev/null
@@ -1,149 +0,0 @@
-
-# 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.
-
-name: C++ Cron
-
-on:
-  push:
-    paths:
-      - '.github/workflows/cpp_cron.yml'
-  pull_request:
-    paths:
-      - '.github/workflows/cpp_cron.yml'
-  schedule:
-    - cron: |
-        0 */12 * * *
-
-env:
-  ARROW_ENABLE_TIMING_TESTS: OFF
-  DOCKER_VOLUME_PREFIX: ".docker/"
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-  docker:
-    name: ${{ matrix.title }}
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') && 
github.repository == 'apache/arrow' }}
-    strategy:
-      fail-fast: false
-      matrix:
-        name:
-          - amd64-debian-10-cpp
-          - amd64-fedora-33-cpp
-          - amd64-ubuntu-18.04-cpp
-          - amd64-ubuntu-20.04-cpp
-        include:
-          - name: amd64-debian-10-cpp
-            image: debian-cpp
-            title: AMD64 Debian 10 C++
-            debian: 10
-          - name: amd64-fedora-33-cpp
-            image: fedora-cpp
-            title: AMD64 Fedora 33 C++
-            fedora: 33
-          - name: amd64-ubuntu-18.04-cpp
-            image: ubuntu-cpp
-            title: AMD64 Ubuntu 18.04 C++
-            ubuntu: 18.04
-          - name: amd64-ubuntu-20.04-cpp
-            image: ubuntu-cpp
-            title: AMD64 Ubuntu 20.04 C++
-            ubuntu: 20.04
-    env:
-      # the defaults here should correspond to the values in .env
-      ARCH: 'amd64'
-      DEBIAN: ${{ matrix.debian || 10 }}
-      FEDORA: ${{ matrix.fedora || 33 }}
-      UBUNTU: ${{ matrix.ubuntu || 18.04 }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: ${{ matrix.name }}-${{ hashFiles('cpp/**') }}
-          restore-keys: ${{ matrix.name }}-
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: |
-          sudo sysctl -w kernel.core_pattern="core.%e.%p"
-          ulimit -c unlimited
-          archery docker run ${{ matrix.image }}
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push ${{ matrix.image }}
-
-  oss-fuzz:
-    name: OSS-Fuzz build check
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') && 
github.repository == 'apache/arrow' }}
-    strategy:
-      fail-fast: false
-      matrix:
-        ubuntu: [18.04]
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        shell: bash
-        run: ci/scripts/util_cleanup.sh
-      - name: Checkout OSS-Fuzz
-        uses: actions/checkout@v1
-        with:
-          path: oss-fuzz
-          repository: google/oss-fuzz
-          ref: master
-      - name: Install dependencies
-        working-directory: ../oss-fuzz
-        run: |
-          python3 -m pip install setuptools
-          python3 -m pip install -r infra/ci/requirements.txt
-      - name: Build image
-        shell: bash
-        working-directory: ../oss-fuzz
-        run: |
-          python3 infra/helper.py build_image --pull arrow
-      - name: Build fuzzers
-        shell: bash
-        working-directory: ../oss-fuzz
-        run: |
-          python3 infra/helper.py build_fuzzers arrow `pwd`/../arrow
-      - name: Check build
-        shell: bash
-        working-directory: ../oss-fuzz
-        run: |
-          python3 infra/helper.py check_build arrow
diff --git a/.github/workflows/csharp.yml b/.github/workflows/csharp.yml
deleted file mode 100644
index 03a297b..0000000
--- a/.github/workflows/csharp.yml
+++ /dev/null
@@ -1,121 +0,0 @@
-# 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.
-
-name: C#
-
-on:
-  push:
-    paths:
-      - '.github/workflows/csharp.yml'
-      - 'ci/scripts/csharp_*'
-      - 'csharp/**'
-  pull_request:
-    paths:
-      - '.github/workflows/csharp.yml'
-      - 'ci/scripts/csharp_*'
-      - 'csharp/**'
-
-jobs:
-
-  ubuntu:
-    name: AMD64 Ubuntu 18.04 C# ${{ matrix.dotnet }}
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        dotnet: ['3.1.x']
-    steps:
-      - name: Install C#
-        uses: actions/setup-dotnet@v1
-        with:
-          dotnet-version: ${{ matrix.dotnet }}
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Install Source Link
-        shell: bash
-        run: dotnet tool install --global sourcelink
-      - name: Build
-        shell: bash
-        run: ci/scripts/csharp_build.sh $(pwd)
-      - name: Test
-        shell: bash
-        run: ci/scripts/csharp_test.sh $(pwd)
-
-  windows:
-    name: AMD64 Windows 2019 18.04 C# ${{ matrix.dotnet }}
-    runs-on: windows-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        dotnet: ['3.1.x']
-    steps:
-      - name: Install C#
-        uses: actions/setup-dotnet@v1
-        with:
-          dotnet-version: ${{ matrix.dotnet }}
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Install Source Link
-        run: dotnet tool install --global sourcelink
-      - name: Build
-        shell: bash
-        run: ci/scripts/csharp_build.sh $(pwd)
-      - name: Test
-        shell: bash
-        run: ci/scripts/csharp_test.sh $(pwd)
-
-  macos:
-    name: AMD64 MacOS 10.15 C# ${{ matrix.dotnet }}
-    runs-on: macos-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        dotnet: ['3.1.x']
-    steps:
-      - name: Install C#
-        uses: actions/setup-dotnet@v1
-        with:
-          dotnet-version: ${{ matrix.dotnet }}
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Install Source Link
-        shell: bash
-        run: dotnet tool install --global sourcelink
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Build
-        shell: bash
-        run: ci/scripts/csharp_build.sh $(pwd)
-      - name: Test
-        shell: bash
-        run: ci/scripts/csharp_test.sh $(pwd)
diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml
index d1b0184..6c6dd83 100644
--- a/.github/workflows/dev.yml
+++ b/.github/workflows/dev.yml
@@ -22,75 +22,18 @@ on:
   push:
   pull_request:
 
-env:
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
 jobs:
 
   lint:
     name: Lint C++, Python, R, Rust, Docker, RAT
     runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
     steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
+      - uses: actions/checkout@v2
       - name: Setup Python
         uses: actions/setup-python@v1
         with:
           python-version: 3.8
       - name: Setup Archery
         run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: |
-          sudo sysctl -w kernel.core_pattern="core.%e.%p"
-          ulimit -c unlimited
-          archery docker run ubuntu-lint
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push ubuntu-lint
-
-  release:
-    name: Source Release and Merge Script
-    runs-on: ubuntu-20.04
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    env:
-      GIT_AUTHOR_NAME: Github Actions
-      GIT_AUTHOR_EMAIL: github@actions
-      GIT_COMMITTER_NAME: Github Actions
-      GIT_COMMITTER_EMAIL: github@actions
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Install Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: '3.6'
-      - name: Install Ruby
-        uses: ruby/setup-ruby@v1
-        with:
-          ruby-version: '2.6'
-      - name: Install Dependencies
-        shell: bash
-        run: |
-          pip install cython setuptools pytest jira
-      - name: Run Release Test
-        shell: bash
-        run: |
-          ci/scripts/release_test.sh $(pwd)
-      - name: Run Merge Script Test
-        shell: bash
-        run: |
-          pytest -v dev/test_merge_arrow_pr.py
+      - name: Lint
+        run: archery lint --rat
diff --git a/.github/workflows/dev_pr/labeler.yml 
b/.github/workflows/dev_pr/labeler.yml
index 098e1ba..5eb722d 100644
--- a/.github/workflows/dev_pr/labeler.yml
+++ b/.github/workflows/dev_pr/labeler.yml
@@ -15,60 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
-"lang-c++":
-  - cpp/**/*
-
-lang-c-glib:
-  - c_glib/**/*
-
-lang-csharp:
-  - csharp/**/*
-
-lang-go:
-  - go/**/*
-
-lang-java:
-  - java/**/*
-
-lang-js:
-  - js/**/*
-
-lang-julia:
-  - julia/**/*
-
-lang-python:
-  - python/**/*
-
-lang-R:
-  - r/**/*
-
-lang-ruby:
-  - ruby/**/*
-
-lang-rust:
-  - rust/**/*
-
 datafusion:
   - rust/datafusion/**/*
 
 ballista:
   - rust/ballista/**/*
-
-flight:
-  - cpp/src/arrow/flight/**/*
-  - r/R/flight.*
-  - rust/arrow-flight/**/*
-  - python/pyarrow/*flight.*
-
-gandiva:
-  - c_glib/gandiva-glib/**/*
-  - cpp/src/gandiva/**/*
-  - ruby/red-gandiva/**/*
-  - python/pyarrow/gandiva.*
-
-parquet:
-  - c_glib/parquet-glib/**/*
-  - cpp/src/parquet/**/*
-  - r/R/parquet.*
-  - ruby/red-parquet/**/*
-  - rust/parquet*/**/*
diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
deleted file mode 100644
index 574795f..0000000
--- a/.github/workflows/go.yml
+++ /dev/null
@@ -1,125 +0,0 @@
-# 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.
-
-name: Go
-
-on:
-  push:
-    paths:
-      - '.github/workflows/go.yml'
-      - 'ci/docker/*_go.dockerfile'
-      - 'ci/scripts/go_*'
-      - 'go/**'
-  pull_request:
-    paths:
-      - '.github/workflows/go.yml'
-      - 'ci/docker/*_go.dockerfile'
-      - 'ci/docker/**'
-      - 'ci/scripts/go_*'
-      - 'go/**'
-
-env:
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-
-  docker:
-    name: AMD64 Debian 10 Go ${{ matrix.go }}
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        go: [1.15]
-    env:
-      GO: ${{ matrix.go }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: archery docker run debian-go
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push debian-go
-
-  windows:
-    name: AMD64 Windows 2019 Go ${{ matrix.go }}
-    runs-on: windows-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        go: [1.15]
-    steps:
-      - name: Install go
-        uses: actions/setup-go@v1
-        with:
-          go-version: ${{ matrix.go }}
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Build
-        shell: bash
-        run: ci/scripts/go_build.sh .
-      - name: Test
-        shell: bash
-        run: ci/scripts/go_test.sh .
-
-  macos:
-    name: AMD64 MacOS 10.15 Go ${{ matrix.go }}
-    runs-on: macos-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        go: [1.15]
-    steps:
-      - name: Install go
-        uses: actions/setup-go@v1
-        with:
-          go-version: ${{ matrix.go }}
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Build
-        shell: bash
-        run: ci/scripts/go_build.sh .
-      - name: Test
-        shell: bash
-        run: ci/scripts/go_test.sh .
diff --git a/.github/workflows/integration.yml 
b/.github/workflows/integration.yml
deleted file mode 100644
index 2011255..0000000
--- a/.github/workflows/integration.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-# 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.
-
-name: Integration
-
-on:
-  push:
-    paths:
-      - '.github/workflows/integration.yml'
-      - 'ci/**'
-      - 'dev/archery/**'
-      - 'go/**'
-      - 'integration/**'
-      - 'js/**'
-      - 'cpp/**'
-      - 'java/**'
-      - 'format/**'
-      - 'rust/**'
-  pull_request:
-    paths:
-      - '.github/workflows/integration.yml'
-      - 'ci/**'
-      - 'dev/archery/**'
-      - 'go/**'
-      - 'integration/**'
-      - 'js/**'
-      - 'cpp/**'
-      - 'java/**'
-      - 'format/**'
-      - 'rust/**'
-
-env:
-  DOCKER_VOLUME_PREFIX: ".docker/"
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-
-  docker:
-    name: AMD64 Conda Integration Test
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: conda-${{ hashFiles('cpp/**') }}
-          restore-keys: conda-
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: archery docker run conda-integration
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push conda-integration
diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml
deleted file mode 100644
index 7f6f29f..0000000
--- a/.github/workflows/java.yml
+++ /dev/null
@@ -1,112 +0,0 @@
-# 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.
-
-name: Java
-
-on:
-  push:
-    paths:
-      - '.github/workflows/java.yml'
-      - 'ci/docker/*java*'
-      - 'ci/scripts/java*.sh'
-      - 'ci/scripts/util_*.sh'
-      - 'format/Flight.proto'
-      - 'java/**'
-  pull_request:
-    paths:
-      - '.github/workflows/java.yml'
-      - 'ci/docker/*java*'
-      - 'ci/scripts/java*.sh'
-      - 'ci/scripts/util_*.sh'
-      - 'format/Flight.proto'
-      - 'java/**'
-
-env:
-  DOCKER_VOLUME_PREFIX: ".docker/"
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-
-  debian:
-    name: AMD64 Debian 9 Java JDK ${{ matrix.jdk }} Maven ${{ matrix.maven }}
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        jdk: [11]
-        maven: [3.6.2]
-    env:
-      JDK: ${{ matrix.jdk }}
-      MAVEN: ${{ matrix.maven }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        shell: bash
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: maven-${{ hashFiles('java/**') }}
-          restore-keys: maven-
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: archery docker run debian-java
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push debian-java
-
-  macos:
-    name: AMD64 MacOS 10.15 Java JDK ${{ matrix.jdk }}
-    runs-on: macos-latest
-    if: github.event_name == 'push'
-    strategy:
-      fail-fast: false
-      matrix:
-        jdk: [11]
-    steps:
-      - name: Set up Java
-        uses: actions/setup-java@v1
-        with:
-          java-version: ${{ matrix.jdk }}
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Build
-        shell: bash
-        run: ci/scripts/java_build.sh $(pwd) $(pwd)/build
-      - name: Test
-        shell: bash
-        run: ci/scripts/java_test.sh $(pwd) $(pwd)/build
diff --git a/.github/workflows/java_jni.yml b/.github/workflows/java_jni.yml
deleted file mode 100644
index 5f25e8c..0000000
--- a/.github/workflows/java_jni.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-# 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.
-
-name: Java JNI
-
-on:
-  push:
-    paths:
-      - '.github/workflows/java_jni.yml'
-      - 'ci/docker/**'
-      - 'ci/scripts/cpp_build.sh'
-      - 'ci/scripts/java_*'
-      - 'cpp/**'
-      - 'java/**'
-  pull_request:
-    paths:
-      - '.github/workflows/java_jni.yml'
-      - 'ci/docker/**'
-      - 'ci/scripts/cpp_build.sh'
-      - 'ci/scripts/java_*'
-      - 'cpp/**'
-      - 'java/**'
-
-env:
-  DOCKER_VOLUME_PREFIX: ".docker/"
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-
-  docker:
-    name: AMD64 Debian 9 Java JNI (Gandiva, Plasma, ORC, Dataset)
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        jdk: [8]
-        maven: [3.5.2]
-    env:
-      JDK: ${{ matrix.jdk }}
-      MAVEN: ${{ matrix.maven }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: maven-${{ hashFiles('java/**') }}
-          restore-keys: maven-
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: archery docker run debian-java-jni
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push debian-java-jni
diff --git a/.github/workflows/js.yml b/.github/workflows/js.yml
deleted file mode 100644
index 354c45c..0000000
--- a/.github/workflows/js.yml
+++ /dev/null
@@ -1,122 +0,0 @@
-# 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.
-
-name: NodeJS
-
-on:
-  push:
-    paths:
-      - '.github/workflows/js.yml'
-      - 'ci/docker/*js.dockerfile'
-      - 'ci/scripts/js_*'
-      - 'js/**'
-  pull_request:
-    paths:
-      - '.github/workflows/js.yml'
-      - 'ci/docker/*js.dockerfile'
-      - 'ci/scripts/js_*'
-      - 'js/**'
-
-env:
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-
-  docker:
-    name: AMD64 Debian 10 NodeJS 14
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: |
-          sudo sysctl -w kernel.core_pattern="core.%e.%p"
-          ulimit -c unlimited
-          archery docker run debian-js
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push debian-js
-
-  macos:
-    name: AMD64 MacOS 10.15 NodeJS ${{ matrix.node }}
-    runs-on: macos-latest
-    if: github.event_name == 'push'
-    strategy:
-      fail-fast: false
-      matrix:
-        node: [14]
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Install NodeJS
-        uses: actions/setup-node@v1
-        with:
-          node-version: ${{ matrix.node }}
-      - name: Build
-        shell: bash
-        run: ci/scripts/js_build.sh $(pwd)
-      - name: Test
-        shell: bash
-        run: ci/scripts/js_test.sh $(pwd)
-
-  # TODO(kszucs): the windows build fails with platform specific npm error
-  # windows:
-  #   name: AMD64 Windows 2019 NodeJS ${{ matrix.node }}
-  #   runs-on: windows-latest
-  #   if: github.event_name == 'push'
-  #   strategy:
-  #     fail-fast: false
-  #     matrix:
-  #       node: [14]
-  #   steps:
-  #     - name: Checkout Arrow
-  #       uses: actions/checkout@v1
-  #       with:
-  #         submodules: true
-  #     - name: Install NodeJS
-  #       uses: actions/setup-node@v1
-  #       with:
-  #         node-version: ${{ matrix.node }}
-  #     - name: Install Platform Dependencies
-  #       shell: bash
-  #       run: yarn add -g cross-env
-  #     - name: Build
-  #       shell: bash
-  #       run: ci/scripts/js_build.sh $(pwd)
-  #     - name: Test
-  #       shell: bash
-  #       run: ci/scripts/js_test.sh $(pwd)
diff --git a/.github/workflows/julia.yml b/.github/workflows/julia.yml
deleted file mode 100644
index 64ea6c9..0000000
--- a/.github/workflows/julia.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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.
-
-name: Julia
-on:
-  push:
-    paths:
-      - '.github/workflows/julia.yml'
-      - 'julia/**'
-  pull_request:
-    paths:
-      - '.github/workflows/julia.yml'
-      - 'julia/**'
-
-jobs:
-  test:
-    name: AMD64 ${{ matrix.os }} Julia ${{ matrix.version }}
-    env:
-      JULIA_NUM_THREADS: 2
-    runs-on: ${{ matrix.os }}
-    strategy:
-      fail-fast: false
-      matrix:
-        version:
-          - '1.3'
-          - '1' # automatically expands to the latest stable 1.x release of 
Julia
-          - 'nightly'
-        os:
-          - ubuntu-latest
-          - windows-latest
-    steps:
-      - uses: actions/checkout@v2
-      - uses: julia-actions/setup-julia@v1
-        with:
-          version: ${{ matrix.version }}
-          arch: x64
-      - uses: julia-actions/julia-runtest@v1
-        with:
-          project: julia/Arrow
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
deleted file mode 100644
index 9062e93..0000000
--- a/.github/workflows/python.yml
+++ /dev/null
@@ -1,154 +0,0 @@
-# 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.
-
-name: Python
-
-on:
-  push:
-    paths:
-      - '.github/workflows/python.yml'
-      - 'ci/**'
-      - 'cpp/**'
-      - 'python/**'
-  pull_request:
-    paths:
-      - '.github/workflows/python.yml'
-      - 'ci/**'
-      - 'cpp/**'
-      - 'python/**'
-
-env:
-  DOCKER_VOLUME_PREFIX: ".docker/"
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-
-  docker:
-    name: ${{ matrix.title }}
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        name:
-          - conda-python-3.8-nopandas
-          - conda-python-3.6-pandas-0.23
-          - conda-python-3.7-pandas-latest
-        include:
-          - name: conda-python-3.8-nopandas
-            cache: conda-python-3.8
-            image: conda-python
-            title: AMD64 Conda Python 3.8 Without Pandas
-            python: 3.8
-          - name: conda-python-3.6-pandas-0.23
-            cache: conda-python-3.6
-            image: conda-python-pandas
-            title: AMD64 Conda Python 3.6 Pandas 0.23
-            python: 3.6
-            pandas: 0.23
-          - name: conda-python-3.7-pandas-latest
-            cache: conda-python-3.7
-            image: conda-python-pandas
-            title: AMD64 Conda Python 3.7 Pandas latest
-            python: 3.7
-            pandas: latest
-    env:
-      PYTHON: ${{ matrix.python || 3.7 }}
-      UBUNTU: ${{ matrix.ubuntu || 18.04 }}
-      PANDAS: ${{ matrix.pandas || 'latest' }}
-      NUMPY: ${{ matrix.numpy || 'latest' }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: ${{ matrix.cache }}-${{ hashFiles('cpp/**') }}
-          restore-keys: ${{ matrix.cache }}-
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: |
-          sudo sysctl -w kernel.core_pattern="core.%e.%p"
-          ulimit -c unlimited
-          archery docker run ${{ matrix.image }}
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push ${{ matrix.image }}
-
-  macos:
-    name: AMD64 MacOS 10.15 Python 3
-    runs-on: macos-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    env:
-      ARROW_HOME: /usr/local
-      ARROW_DATASET: ON
-      ARROW_JEMALLOC: ON
-      ARROW_ORC: ON
-      ARROW_PYTHON: ON
-      ARROW_PLASMA: ON
-      ARROW_GANDIVA: ON
-      ARROW_PARQUET: ON
-      ARROW_WITH_ZLIB: ON
-      ARROW_WITH_LZ4: ON
-      ARROW_WITH_BZ2: ON
-      ARROW_WITH_ZSTD: ON
-      ARROW_WITH_SNAPPY: ON
-      ARROW_WITH_BROTLI: ON
-      ARROW_BUILD_TESTS: OFF
-      CMAKE_ARGS: "-DPython3_EXECUTABLE=/usr/local/bin/python3"
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Install Dependencies
-        shell: bash
-        run: |
-          rm -f /usr/local/bin/2to3
-          brew update --preinstall
-          brew unlink gcc@8 gcc@9
-          brew bundle --file=cpp/Brewfile
-          brew install coreutils
-          python3 -mpip install \
-            -r python/requirements-build.txt \
-            -r python/requirements-test.txt
-      - name: Build
-        shell: bash
-        run: |
-          export PYTHON=python3
-          ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
-          ci/scripts/python_build.sh $(pwd) $(pwd)/build
-      - name: Test
-        shell: bash
-        run: ci/scripts/python_test.sh $(pwd) $(pwd)/build
diff --git a/.github/workflows/python_cron.yml 
b/.github/workflows/python_cron.yml
deleted file mode 100644
index 7a4401a..0000000
--- a/.github/workflows/python_cron.yml
+++ /dev/null
@@ -1,141 +0,0 @@
-# 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.
-
-name: Python Cron
-
-on:
-  push:
-    paths:
-      - '.github/workflows/python_cron.yml'
-  pull_request:
-    paths:
-      - '.github/workflows/python_cron.yml'
-  schedule:
-    - cron: |
-        0 */12 * * *
-
-env:
-  DOCKER_VOLUME_PREFIX: ".docker/"
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-
-  docker:
-    name: ${{ matrix.title }}
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') && 
github.repository == 'apache/arrow' }}
-    strategy:
-      fail-fast: false
-      matrix:
-        name:
-          - debian-10-python-3
-          - fedora-33-python-3
-          - ubuntu-18.04-python-3
-          - conda-python-3.7-dask-latest
-          - conda-python-3.7-turbodbc-latest
-          - conda-python-3.7-kartothek-latest
-          - conda-python-3.7-pandas-0.24
-          - conda-python-3.7-pandas-master
-          - conda-python-3.7-hdfs-2.9.2
-        include:
-          - name: debian-10-python-3
-            cache: debian-10-python-3
-            image: debian-python
-            title: AMD64 Debian 10 Python 3
-            debian: 10
-          - name: fedora-33-python-3
-            cache: fedora-33-python-3
-            image: fedora-python
-            title: AMD64 Fedora 33 Python 3
-            fedora: 33
-          - name: ubuntu-18.04-python-3
-            cache: ubuntu-18.04-python-3
-            image: ubuntu-python
-            title: AMD64 Ubuntu 18.04 Python 3
-            ubuntu: 18.04
-          - name: conda-python-3.7-dask-latest
-            cache: conda-python-3.7
-            image: conda-python-dask
-            title: AMD64 Conda Python 3.7 Dask latest
-            dask: latest
-          - name: conda-python-3.7-turbodbc-latest
-            cache: conda-python-3.7
-            image: conda-python-turbodbc
-            title: AMD64 Conda Python 3.7 Turbodbc latest
-            turbodbc: latest
-          - name: conda-python-3.7-kartothek-latest
-            cache: conda-python-3.7
-            image: conda-python-kartothek
-            title: AMD64 Conda Python 3.7 Kartothek latest
-            kartothek: latest
-          - name: conda-python-3.7-pandas-0.24
-            cache: conda-python-3.7
-            image: conda-python-pandas
-            title: AMD64 Conda Python 3.7 Pandas 0.24
-            pandas: 0.24
-          - name: conda-python-3.7-pandas-master
-            cache: conda-python-3.7
-            image: --no-leaf-cache conda-python-pandas
-            title: AMD64 Conda Python 3.7 Pandas master
-            pandas: master
-          - name: conda-python-3.7-hdfs-2.9.2
-            cache: conda-python-3.7
-            image: conda-python-hdfs
-            title: AMD64 Conda Python 3.7 HDFS 2.9.2
-            hdfs: 2.9.2
-    env:
-      # the defaults here should correspond to the values in .env
-      DEBIAN: ${{ matrix.debian || 10 }}
-      FEDORA: ${{ matrix.fedora || 33 }}
-      UBUNTU: ${{ matrix.ubuntu || 18.04 }}
-      PYTHON: ${{ matrix.python || 3.7 }}
-      HDFS: ${{ matrix.hdfs || '2.9.2' }}
-      DASK: ${{ matrix.dask || 'latest' }}
-      TURBODBC: ${{ matrix.turbodbc || 'latest' }}
-      PANDAS: ${{ matrix.pandas || 'latest' }}
-      KARTOTHEK: ${{ matrix.kartothek || 'latest' }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: ${{ matrix.cache }}-${{ hashFiles('cpp/**') }}
-          restore-keys: ${{ matrix.cache }}-
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: |
-          sudo sysctl -w kernel.core_pattern="core.%e.%p"
-          ulimit -c unlimited
-          archery docker run ${{ matrix.image }}
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push ${{ matrix.image }}
diff --git a/.github/workflows/r.yml b/.github/workflows/r.yml
deleted file mode 100644
index 7851b6b..0000000
--- a/.github/workflows/r.yml
+++ /dev/null
@@ -1,255 +0,0 @@
-# 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.
-
-name: R
-
-on:
-  push:
-    paths:
-      - ".github/workflows/r.yml"
-      - "ci/scripts/r_*.sh"
-      - "ci/scripts/cpp_*.sh"
-      - "ci/scripts/PKGBUILD"
-      - "ci/etc/rprofile"
-      - "ci/docker/**"
-      - "cpp/**"
-      - "r/**"
-  pull_request:
-    paths:
-      - ".github/workflows/r.yml"
-      - "ci/scripts/r_*.sh"
-      - "ci/scripts/cpp_*.sh"
-      - "ci/scripts/PKGBUILD"
-      - "ci/etc/rprofile"
-      - "ci/docker/**"
-      - "cpp/**"
-      - "r/**"
-
-env:
-  DOCKER_VOLUME_PREFIX: ".docker/"
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-  ubuntu:
-    name: AMD64 Ubuntu ${{ matrix.ubuntu }} R ${{ matrix.r }}
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        r: ["3.6"]
-        ubuntu: [18.04]
-    env:
-      R: ${{ matrix.r }}
-      UBUNTU: ${{ matrix.ubuntu }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: ubuntu-${{ matrix.ubuntu }}-r-${{ matrix.r }}-${{ 
hashFiles('cpp/**') }}
-          restore-keys: ubuntu-${{ matrix.ubuntu }}-r-${{ matrix.r }}-
-      - name: Check pkgdown reference sections
-        run: ci/scripts/r_pkgdown_check.sh
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: |
-          sudo sysctl -w kernel.core_pattern="core.%e.%p"
-          ulimit -c unlimited
-          archery docker run ubuntu-r
-      - name: Dump install logs
-        run: cat r/check/arrow.Rcheck/00install.out
-        if: always()
-      - name: Dump test logs
-        run: cat r/check/arrow.Rcheck/tests/testthat.Rout*
-        if: always()
-      - name: Save the test output
-        if: always()
-        uses: actions/upload-artifact@v2
-        with:
-          name: test-output
-          path: r/check/arrow.Rcheck/tests/testthat.Rout*
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push ubuntu-r
-
-  bundled:
-    name: "${{ matrix.config.org }}/${{ matrix.config.image }}:${{ 
matrix.config.tag }}"
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        config:
-          - { org: "rstudio", image: "r-base", tag: "4.0-centos7" }
-          - { org: "rhub", image: "debian-gcc-devel", tag: "latest" }
-    env:
-      R_ORG: ${{ matrix.config.org }}
-      R_IMAGE: ${{ matrix.config.image }}
-      R_TAG: ${{ matrix.config.tag }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: ${{ matrix.config.image }}-r-${{ hashFiles('cpp/**') }}
-          restore-keys: ${{ matrix.config.image }}-r-
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: |
-          sudo sysctl -w kernel.core_pattern="core.%e.%p"
-          ulimit -c unlimited
-          archery docker run r
-      - name: Dump install logs
-        run: cat r/check/arrow.Rcheck/00install.out
-        if: always()
-      - name: Dump test logs
-        run: cat r/check/arrow.Rcheck/tests/testthat.Rout*
-        if: always()
-      - name: Save the test output
-        if: always()
-        uses: actions/upload-artifact@v2
-        with:
-          name: test-output
-          path: r/check/arrow.Rcheck/tests/testthat.Rout*
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        run: archery docker push r
-
-  windows:
-    name: AMD64 Windows RTools ${{ matrix.rtools }}
-    runs-on: windows-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        rtools: [35, 40]
-    env:
-      TEST_R_WITH_ARROW: "TRUE"
-      ARROW_R_CXXFLAGS: "-Werror"
-      _R_CHECK_TESTS_NLINES_: 0
-    steps:
-      - run: git config --global core.autocrlf false
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Make R tests verbose
-        # If you get a segfault/mysterious test Execution halted,
-        # make this `true` to see where it dies.
-        if: false
-        shell: cmd
-        run: |
-          cd r/tests
-          sed -i.bak -E -e 's/"arrow"/"arrow", reporter = "location"/' 
testthat.R
-          rm -f testthat.R.bak
-      - name: Setup ccache
-        shell: bash
-        run: |
-          ci/scripts/ccache_setup.sh
-          echo "CCACHE_DIR=$(cygpath --absolute --windows ccache)" >> 
$GITHUB_ENV
-      # We must enable actions/cache before r-lib/actions/setup-r to ensure
-      # using system tar instead of tar provided by Rtools.
-      # We can use tar provided by Rtools when we drop support for Rtools 3.5.
-      # Because Rtools 4.0 or later has zstd. actions/cache requires zstd
-      # when tar is GNU tar.
-      - name: Cache ccache
-        uses: actions/cache@v2
-        with:
-          path: ccache
-          key: r-${{ matrix.rtools }}-ccache-mingw-${{ hashFiles('cpp/**') }}
-          restore-keys: r-${{ matrix.rtools }}-ccache-mingw-
-      # We use the makepkg-mingw setup that is included in rtools40 even when
-      # we use the rtools35 compilers, so we always install R 4.0/Rtools40
-      - uses: r-lib/actions/setup-r@master
-        with:
-          rtools-version: 40
-          r-version: "4.0"
-          Ncpus: 2
-      - uses: r-lib/actions/setup-r@master
-        if: ${{ matrix.rtools == 35 }}
-        with:
-          rtools-version: 35
-          r-version: "3.6"
-          Ncpus: 2
-      - name: Build Arrow C++
-        shell: bash
-        env:
-          RTOOLS_VERSION: ${{ matrix.rtools }}
-        run: ci/scripts/r_windows_build.sh
-      - uses: actions/upload-artifact@v1
-        with:
-          name: Rtools ${{ matrix.rtools }} Arrow C++
-          path: libarrow.zip
-      - name: Install R package dependencies
-        shell: Rscript {0}
-        run: |
-          options(pkgType="win.binary")
-          install.packages(c("remotes", "rcmdcheck"))
-          remotes::install_deps("r", dependencies = TRUE)
-      - name: Check
-        shell: Rscript {0}
-        run: |
-          Sys.setenv(
-            RWINLIB_LOCAL = file.path(Sys.getenv("GITHUB_WORKSPACE"), 
"libarrow.zip"),
-            MAKEFLAGS = paste0("-j", parallel::detectCores())
-          )
-          rcmdcheck::rcmdcheck("r",
-            build_args = '--no-build-vignettes',
-            args = c('--no-manual', '--as-cran', '--ignore-vignettes', 
'--run-donttest'),
-            error_on = 'warning',
-            check_dir = 'check',
-            timeout = 3600
-          )
-      - name: Dump install logs
-        shell: cmd
-        run: cat check/arrow.Rcheck/00install.out
-        if: always()
-      # We can remove this when we drop support for Rtools 3.5.
-      - name: Ensure using system tar in actions/cache
-        run: |
-          Write-Output "${Env:windir}\System32" | `
-            Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml
deleted file mode 100644
index 2b99cdd..0000000
--- a/.github/workflows/ruby.yml
+++ /dev/null
@@ -1,290 +0,0 @@
-# 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.
-
-name: C GLib & Ruby
-
-on:
-  push:
-    paths:
-      - '.github/workflows/ruby.yml'
-      - 'ci/docker/**'
-      - 'ci/scripts/c_glib_*'
-      - 'ci/scripts/cpp_*'
-      - 'ci/scripts/msys2_*'
-      - 'ci/scripts/ruby_*'
-      - 'ci/scripts/util_*'
-      - 'c_glib/**'
-      - 'cpp/**'
-      - 'ruby/**'
-  pull_request:
-    paths:
-      - '.github/workflows/ruby.yml'
-      - 'ci/docker/**'
-      - 'ci/scripts/c_glib_*'
-      - 'ci/scripts/cpp_*'
-      - 'ci/scripts/msys2_*'
-      - 'ci/scripts/ruby_*'
-      - 'ci/scripts/util_*'
-      - 'c_glib/**'
-      - 'cpp/**'
-      - 'ruby/**'
-
-env:
-  DOCKER_VOLUME_PREFIX: ".docker/"
-  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
-  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
-
-jobs:
-
-  ubuntu:
-    name: AMD64 Ubuntu ${{ matrix.ubuntu }} GLib & Ruby
-    runs-on: ubuntu-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        ubuntu:
-          - 18.04
-          - 20.04
-    env:
-      UBUNTU: ${{ matrix.ubuntu }}
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Free Up Disk Space
-        shell: bash
-        run: ci/scripts/util_cleanup.sh
-      - name: Cache Docker Volumes
-        uses: actions/cache@v2
-        with:
-          path: .docker
-          key: ubuntu-${{ matrix.ubuntu }}-ruby-${{ hashFiles('cpp/**') }}
-          restore-keys: ubuntu-${{ matrix.ubuntu }}-ruby-
-      - name: Setup Python
-        uses: actions/setup-python@v1
-        with:
-          python-version: 3.8
-      - name: Setup Archery
-        run: pip install -e dev/archery[docker]
-      - name: Execute Docker Build
-        run: |
-          sudo sysctl -w kernel.core_pattern="core.%e.%p"
-          ulimit -c unlimited
-          archery docker run ubuntu-ruby
-      - name: Docker Push
-        if: success() && github.event_name == 'push' && github.repository == 
'apache/arrow'
-        continue-on-error: true
-        shell: bash
-        run: archery docker push ubuntu-ruby
-
-  macos:
-    name: AMD64 MacOS 10.15 GLib & Ruby
-    runs-on: macos-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-    env:
-      ARROW_BUILD_TESTS: OFF
-      ARROW_GANDIVA: ON
-      ARROW_GLIB_DEVELOPMENT_MODE: true
-      ARROW_GLIB_GTK_DOC: true
-      ARROW_HOME: /usr/local
-      ARROW_JEMALLOC: OFF
-      ARROW_ORC: OFF
-      ARROW_PARQUET: ON
-      ARROW_WITH_BROTLI: ON
-      ARROW_WITH_LZ4: ON
-      ARROW_WITH_SNAPPY: ON
-      ARROW_WITH_ZLIB: ON
-      ARROW_WITH_ZSTD: ON
-      XML_CATALOG_FILES: /usr/local/etc/xml/catalog
-    steps:
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Install Homebrew Dependencies
-        shell: bash
-        run: |
-          rm -f /usr/local/bin/2to3
-          brew update --preinstall
-          brew unlink gcc@8 gcc@9
-          brew bundle --file=cpp/Brewfile
-          brew bundle --file=c_glib/Brewfile
-      - name: Install Ruby Dependencies
-        run: |
-          export MAKEFLAGS="-j$(sysctl -n hw.ncpu)"
-          bundle install --gemfile c_glib/Gemfile
-          bundle install --gemfile ruby/Gemfile
-          for ruby_package_gemfile in ruby/*/Gemfile; do \
-            bundle install --gemfile ${ruby_package_gemfile}
-          done
-      - name: Setup ccache
-        run: |
-          ci/scripts/ccache_setup.sh
-      - name: ccache info
-        id: ccache-info
-        run: |
-          echo "::set-output name=cache-dir::$(ccache --get-config cache_dir)"
-      - name: Cache ccache
-        uses: actions/cache@v2
-        with:
-          path: ${{ steps.ccache-info.outputs.cache-dir }}
-          key: ruby-ccache-macos-${{ hashFiles('cpp/**') }}
-          restore-keys: ruby-ccache-macos-
-      - name: Build C++
-        run: |
-          ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
-      - name: Build GLib
-        run: |
-          ci/scripts/c_glib_build.sh $(pwd) $(pwd)/build
-      - name: Test GLib
-        shell: bash
-        run: ci/scripts/c_glib_test.sh $(pwd) $(pwd)/build
-      - name: Test Ruby
-        shell: bash
-        run: ci/scripts/ruby_test.sh $(pwd) $(pwd)/build
-
-  windows:
-    name: AMD64 Windows MinGW ${{ matrix.mingw-n-bits }} GLib & Ruby
-    runs-on: windows-latest
-    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
-    strategy:
-      fail-fast: false
-      matrix:
-        mingw-n-bits:
-          - 64
-        ruby-version:
-          - 2.6
-    env:
-      ARROW_BUILD_SHARED: ON
-      ARROW_BUILD_STATIC: OFF
-      ARROW_BUILD_TESTS: OFF
-      ARROW_BUILD_TYPE: release
-      ARROW_DATASET: ON
-      ARROW_FLIGHT: ON
-      ARROW_GANDIVA: ON
-      ARROW_HDFS: OFF
-      ARROW_HOME: /mingw${{ matrix.mingw-n-bits }}
-      ARROW_JEMALLOC: OFF
-      ARROW_PARQUET: ON
-      ARROW_PYTHON: OFF
-      ARROW_S3: ON
-      ARROW_USE_GLOG: OFF
-      ARROW_WITH_BROTLI: ON
-      ARROW_WITH_BZ2: ON
-      ARROW_WITH_LZ4: ON
-      ARROW_WITH_SNAPPY: ON
-      ARROW_WITH_ZLIB: ON
-      ARROW_WITH_ZSTD: ON
-      # Don't use preinstalled Boost by empty BOOST_ROOT and
-      # -DBoost_NO_BOOST_CMAKE=ON
-      BOOST_ROOT: ""
-      CMAKE_ARGS: >-
-        -DARROW_PACKAGE_PREFIX=/mingw${{ matrix.mingw-n-bits }}
-        -DBoost_NO_BOOST_CMAKE=ON
-      CMAKE_UNITY_BUILD: ON
-    steps:
-      - name: Disable Crash Dialogs
-        run: |
-          reg add `
-            "HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
-            /v DontShowUI `
-            /t REG_DWORD `
-            /d 1 `
-            /f
-      - name: Checkout Arrow
-        uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-      - name: Fetch Submodules and Tags
-        shell: bash
-        run: ci/scripts/util_checkout.sh
-      - name: Setup Ruby
-        uses: ruby/setup-ruby@v1
-        with:
-          ruby-version: ${{ matrix.ruby-version }}
-      - name: Upgrade MSYS2
-        run: |
-          ridk exec bash ci\scripts\msys2_system_upgrade.sh
-          taskkill /F /FI "MODULES eq msys-2.0.dll"
-      - name: Clean MSYS2
-        run: |
-          ridk exec bash ci\scripts\msys2_system_clean.sh
-      - name: Setup MSYS2
-        run: |
-          ridk exec bash ci\scripts\msys2_setup.sh ruby
-      - name: Cache ccache
-        uses: actions/cache@v2
-        with:
-          path: ccache
-          key: ruby-ccache-mingw${{ matrix.mingw-n-bits }}-${{ 
hashFiles('cpp/**') }}
-          restore-keys: ruby-ccache-mingw${{ matrix.mingw-n-bits }}-
-      - name: Build C++
-        run: |
-          $Env:CMAKE_BUILD_PARALLEL_LEVEL = $Env:NUMBER_OF_PROCESSORS
-          $source_dir = "$(ridk exec cygpath --unix "$(Get-Location)")"
-          $build_dir = "$(ridk exec cygpath --unix "$(Get-Location)\build")"
-          $ErrorActionPreference = "Continue"
-          ridk exec bash ci\scripts\cpp_build.sh "${source_dir}" "${build_dir}"
-      - name: Build GLib
-        run: |
-          $Env:CMAKE_BUILD_PARALLEL_LEVEL = $Env:NUMBER_OF_PROCESSORS
-          $source_dir = "$(ridk exec cygpath --unix "$(Get-Location)")"
-          $build_dir = "$(ridk exec cygpath --unix "$(Get-Location)\build")"
-          $ErrorActionPreference = "Continue"
-          ridk exec bash ci\scripts\c_glib_build.sh "${source_dir}" 
"${build_dir}"
-      - name: RubyGems info
-        id: rubygems-info
-        run: |
-          Write-Output "::set-output name=gem-dir::$(ridk exec gem env gemdir)"
-      - name: Cache RubyGems
-        uses: actions/cache@v2
-        with:
-          path: ${{ steps.rubygems-info.outputs.gem-dir }}
-          key: ruby-rubygems-mingw${{ matrix.mingw-n-bits }}-${{ 
hashFiles('**/Gemfile', 'ruby/*/*.gemspec') }}
-          restore-keys: ruby-rubygems-mingw${{ matrix.mingw-n-bits }}-
-      - name: Install test dependencies
-        run: |
-          bundle install --gemfile c_glib\Gemfile
-          bundle install --gemfile ruby\Gemfile
-          Get-ChildItem ruby\*\Gemfile | `
-            ForEach-Object {bundle install --gemfile $_}
-      - name: Test GLib
-        run: |
-          $source_dir = "$(ridk exec cygpath --unix "$(Get-Location)")"
-          $build_dir = "$(ridk exec cygpath --unix "$(Get-Location)\build")"
-          $ErrorActionPreference = "Continue"
-          ridk exec bash ci\scripts\c_glib_test.sh "${source_dir}" 
"${build_dir}"
-      - name: Test Ruby
-        run: |
-          $Env:PKG_CONFIG_PATH = `
-            "$(ridk exec cygpath --absolute --windows 
"${Env:ARROW_HOME}/lib/pkgconfig")"
-          $Env:GI_TYPELIB_PATH = `
-            "$(ridk exec cygpath --absolute --windows 
"${Env:ARROW_HOME}/lib/girepository-1.0")"
-          $Env:RUBYOPTS = "-rdevkit"
-          $Env:MAKE = "ridk exec make"
-          $ErrorActionPreference = "Continue"
-          rake -f ruby\Rakefile
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index 4bb17a2..ac20036 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -18,16 +18,9 @@
 name: Rust
 
 on:
+  # always trigger
   push:
-    paths:
-      - '.github/workflows/rust.yml'
-      - 'rust/**'
-      - 'format/Flight.proto'
   pull_request:
-    paths:
-      - '.github/workflows/rust.yml'
-      - 'rust/**'
-      - 'format/Flight.proto'
 
 jobs:
 
@@ -70,14 +63,13 @@ jobs:
         run: |
           export CARGO_HOME="/github/home/.cargo"
           export CARGO_TARGET_DIR="/github/home/target"
-          cd rust
           cargo build
       # Ballista is currently not part of the main workspace so requires a 
separate build step
       - name: Build Ballista
         run: |
           export CARGO_HOME="/github/home/.cargo"
           export CARGO_TARGET_DIR="/github/home/target"
-          cd rust/ballista/rust
+          cd ballista/rust
           # snmalloc requires cmake so build without default features
           cargo build --no-default-features
 
@@ -96,8 +88,6 @@ jobs:
         # Disable full debug symbol generation to speed up CI build and keep 
memory down
         # "1" means line tables only, which is useful for panic tracebacks.
         RUSTFLAGS: "-C debuginfo=1"
-        ARROW_TEST_DATA: /__w/arrow/arrow/testing/data
-        PARQUET_TEST_DATA: /__w/arrow/arrow/cpp/submodules/parquet-testing/data
     steps:
       - uses: actions/checkout@v2
         with:
@@ -123,7 +113,8 @@ jobs:
         run: |
           export CARGO_HOME="/github/home/.cargo"
           export CARGO_TARGET_DIR="/github/home/target"
-          cd rust
+          export ARROW_TEST_DATA=$(pwd)/testing/data
+          export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data
           # run tests on all workspace members with default feature list
           cargo test
           # test datafusion examples
@@ -131,66 +122,17 @@ jobs:
           cargo test --no-default-features
           cargo run --example csv_sql
           cargo run --example parquet_sql
-          cd ..
-          cd arrow
-          # re-run tests on arrow workspace with additional features
-          cargo test --features=prettyprint
-          cargo run --example builders
-          cargo run --example dynamic_types
-          cargo run --example read_csv
-          cargo run --example read_csv_infer_schema
       # Ballista is currently not part of the main workspace so requires a 
separate test step
       - name: Run Ballista tests
         run: |
           export CARGO_HOME="/github/home/.cargo"
           export CARGO_TARGET_DIR="/github/home/target"
-          cd rust/ballista/rust
+          export ARROW_TEST_DATA=$(pwd)/testing/data
+          export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data
+          cd ballista/rust
           # snmalloc requires cmake so build without default features
           cargo test --no-default-features
 
-  # test the --features "simd" of the arrow crate. This requires nightly.
-  linux-test-simd:
-    name: Test SIMD on AMD64 Rust ${{ matrix.rust }}
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        arch: [amd64]
-        rust: [nightly-2021-03-24]
-    container:
-      image: ${{ matrix.arch }}/rust
-      env:
-        # Disable full debug symbol generation to speed up CI build and keep 
memory down
-        # "1" means line tables only, which is useful for panic tracebacks.
-        RUSTFLAGS: "-C debuginfo=1"
-        ARROW_TEST_DATA: /__w/arrow/arrow/testing/data
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Cache Cargo
-        uses: actions/cache@v2
-        with:
-          path: /github/home/.cargo
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: cargo-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v2
-        with:
-          path: /github/home/target
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-cache-${{ 
matrix.rust }}
-      - name: Setup Rust toolchain
-        run: |
-          rustup toolchain install ${{ matrix.rust }}
-          rustup default ${{ matrix.rust }}
-          rustup component add rustfmt
-      - name: Run tests
-        run: |
-          export CARGO_HOME="/github/home/.cargo"
-          export CARGO_TARGET_DIR="/github/home/target"
-          cd rust/arrow
-          cargo test --features "simd"
-
   windows-and-macos:
     name: Test on ${{ matrix.os }} Rust ${{ matrix.rust }}
     runs-on: ${{ matrix.os }}
@@ -213,12 +155,26 @@ jobs:
         shell: bash
         run: |
           export ARROW_TEST_DATA=$(pwd)/testing/data
-          export PARQUET_TEST_DATA=$(pwd)/cpp/submodules/parquet-testing/data
+          export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data
           # do not produce debug symbols to keep memory usage down
           export RUSTFLAGS="-C debuginfo=0"
-          cd rust
           cargo test
 
+  lint:
+    name: Lint
+    runs-on: ubuntu-latest
+    container:
+      image: amd64/rust
+    steps:
+      - uses: actions/checkout@v2
+      - name: Setup toolchain
+        run: |
+          rustup toolchain install stable
+          rustup default stable
+          rustup component add rustfmt
+      - name: Run
+        run: cargo fmt --all -- --check
+
   clippy:
     name: Clippy
     needs: [linux-build-lib]
@@ -258,7 +214,6 @@ jobs:
         run: |
           export CARGO_HOME="/github/home/.cargo"
           export CARGO_TARGET_DIR="/github/home/target"
-          cd rust
           cargo clippy --all-targets --workspace -- -D warnings -A 
clippy::redundant_field_names
 
   miri-checks:
@@ -290,7 +245,6 @@ jobs:
           RUST_LOG: 'trace'
         run: |
           export MIRIFLAGS="-Zmiri-disable-isolation"
-          cd rust
           cargo miri setup
           cargo clean
           # Ignore MIRI errors until we can get a clean run
@@ -325,146 +279,12 @@ jobs:
           export CARGO_TARGET_DIR="/home/runner/target"
 
           export ARROW_TEST_DATA=$(pwd)/testing/data
-          export PARQUET_TEST_DATA=$(pwd)/cpp/submodules/parquet-testing/data
+          export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data
 
           # 2020-11-15: There is a cargo-tarpaulin regression in 0.17.0
           # see https://github.com/xd009642/tarpaulin/issues/618
           cargo install --version 0.16.0 cargo-tarpaulin
-          cd rust
           cargo tarpaulin --out Xml
       - name: Report coverage
         continue-on-error: true
         run: bash <(curl -s https://codecov.io/bash)
-
-  # test FFI against the C-Data interface exposed by pyarrow
-  pyarrow-integration-test:
-    name: Test Pyarrow C Data Interface
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        rust: [stable]
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Setup Rust toolchain
-        run: |
-          rustup toolchain install ${{ matrix.rust }}
-          rustup default ${{ matrix.rust }}
-          rustup component add rustfmt clippy
-      - name: Cache Cargo
-        uses: actions/cache@v2
-        with:
-          path: /home/runner/.cargo
-          key: cargo-maturin-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v2
-        with:
-          path: /home/runner/target
-          # this key is not equal because maturin uses different compilation 
flags.
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-maturin-cache-${{ 
matrix.rust }}-
-      - uses: actions/setup-python@v2
-        with:
-          python-version: '3.7'
-      - name: Install Python dependencies
-        run: python -m pip install --upgrade pip setuptools wheel
-      - name: Run tests
-        run: |
-          export CARGO_HOME="/home/runner/.cargo"
-          export CARGO_TARGET_DIR="/home/runner/target"
-
-          cd rust/arrow-pyarrow-integration-testing
-
-          python -m venv venv
-          source venv/bin/activate
-
-          pip install maturin==0.8.2 toml==0.10.1 pyarrow==1.0.0
-          maturin develop
-          python -m unittest discover tests
-
-  # test the arrow crate builds against wasm32 in stable rust
-  wasm32-build:
-    name: Build wasm32 on AMD64 Rust ${{ matrix.rust }}
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        arch: [amd64]
-        rust: [nightly-2021-03-24]
-    container:
-      image: ${{ matrix.arch }}/rust
-      env:
-        # Disable full debug symbol generation to speed up CI build and keep 
memory down
-        # "1" means line tables only, which is useful for panic tracebacks.
-        RUSTFLAGS: "-C debuginfo=1"
-        ARROW_TEST_DATA: /__w/arrow/arrow/testing/data
-        PARQUET_TEST_DATA: /__w/arrow/arrow/cpp/submodules/parquet-testing/data
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Cache Cargo
-        uses: actions/cache@v2
-        with:
-          path: /github/home/.cargo
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: cargo-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v2
-        with:
-          path: /github/home/target
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-wasm32-cache-${{ 
matrix.rust }}
-      - name: Setup Rust toolchain
-        run: |
-          rustup toolchain install ${{ matrix.rust }}
-          rustup override set ${{ matrix.rust }}
-          rustup component add rustfmt
-          rustup target add wasm32-unknown-unknown
-      - name: Build arrow crate
-        run: |
-          export CARGO_HOME="/github/home/.cargo"
-          export CARGO_TARGET_DIR="/github/home/target"
-          cd rust/arrow
-          cargo build --target wasm32-unknown-unknown
-
-  # test the projects can build without default features
-  default-build:
-    name: Check No Defaults on AMD64 Rust ${{ matrix.rust }}
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        arch: [amd64]
-        rust: [stable]
-    container:
-      image: ${{ matrix.arch }}/rust
-      env:
-        # Disable full debug symbol generation to speed up CI build and keep 
memory down
-        # "1" means line tables only, which is useful for panic tracebacks.
-        RUSTFLAGS: "-C debuginfo=1"
-        ARROW_TEST_DATA: /__w/arrow/arrow/testing/data
-        PARQUET_TEST_DATA: /__w/arrow/arrow/cpp/submodules/parquet-testing/data
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Cache Cargo
-        uses: actions/cache@v2
-        with:
-          path: /github/home/.cargo
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: cargo-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v2
-        with:
-          path: /github/home/target
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-wasm32-cache-${{ 
matrix.rust }}
-      - name: Setup Rust toolchain
-        run: |
-          rustup toolchain install ${{ matrix.rust }}
-          rustup override set ${{ matrix.rust }}
-          rustup component add rustfmt
-      - name: Build arrow crate
-        run: |
-          export CARGO_HOME="/github/home/.cargo"
-          export CARGO_TARGET_DIR="/github/home/target"
-          cd rust/arrow
-          cargo check --all-targets --no-default-features
diff --git a/.gitignore b/.gitignore
index 5397fe3..31bdf49 100644
--- a/.gitignore
+++ b/.gitignore
@@ -85,3 +85,9 @@ cpp/Brewfile.lock.json
 target
 Cargo.lock
 
+rusty-tags.vi
+.history
+.flatbuffers/
+
+.vscode
+venv/*
diff --git a/.gitmodules b/.gitmodules
index 86e2f06..ec5d620 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,6 @@
-[submodule "testing"]
-       path = arrow-testing
-       url = https://github.com/apache/arrow-testing
 [submodule "parquet-testing"]
        path = parquet-testing
        url = https://github.com/apache/parquet-testing.git
+[submodule "testing"]
+       path = testing
+       url = https://github.com/apache/arrow-testing
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 2cf70cc..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,165 +0,0 @@
-# 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.
-
-dist: bionic
-
-language: minimal
-
-cache:
-  directories:
-    - $TRAVIS_BUILD_DIR/.docker
-
-addons:
-  apt:
-    packages:
-      - python3-pip
-
-services:
-  - docker
-
-# Note that the global "env" setting isn't inherited automatically by
-# matrix entries with their own "env", so we have to insert it explicitly.
-env: &global_env
-  ARROW_ENABLE_TIMING_TESTS: "OFF"
-  COMPOSE_DOCKER_CLI_BUILD: 1
-  DOCKER_BUILDKIT: 0
-  DOCKER_VOLUME_PREFIX: $TRAVIS_BUILD_DIR/.docker/
-
-jobs:
-  include:
-    - name: "C++ on ARM"
-      os: linux
-      arch: arm64
-      env:
-        <<: *global_env
-        ARCH: arm64v8
-        ARROW_CI_MODULES: "CPP"
-        DOCKER_IMAGE_ID: ubuntu-cpp
-        # ARROW_USE_GLOG=OFF is needed to avoid build error caused by
-        # glog and CMAKE_UNITY_BUILD=ON.
-        #
-        # Disable ARROW_S3 because it often causes "No output has
-        # been received in the last 10m0s, this potentially indicates
-        # a stalled build or something wrong with the build itself."
-        # on Travis CI.
-        #
-        # Limiting CPP_MAKE_PARALLELISM is required to avoid random compiler
-        # crashes.
-        DOCKER_RUN_ARGS: >-
-          "
-          -e ARROW_BUILD_STATIC=OFF
-          -e ARROW_ORC=OFF
-          -e ARROW_S3=OFF
-          -e ARROW_USE_GLOG=OFF
-          -e CMAKE_UNITY_BUILD=ON
-          -e CPP_MAKE_PARALLELISM=4
-          "
-        # The LLVM's APT repository provides only arm64 binaries.
-        # We should use LLVM provided by Ubuntu.
-        LLVM: "10"
-        UBUNTU: "20.04"
-
-    - name: "C++ on s390x"
-      os: linux
-      arch: s390x
-      env:
-        <<: *global_env
-        ARCH: s390x
-        ARROW_CI_MODULES: "CPP"
-        DOCKER_IMAGE_ID: ubuntu-cpp
-        # Can't enable ARROW_MIMALLOC because of failures in memory pool tests.
-        # Can't enable ARROW_S3 because compiler is killed while compiling
-        # aws-sdk-cpp.
-        DOCKER_RUN_ARGS: >-
-          "
-          -e ARROW_BUILD_STATIC=OFF
-          -e ARROW_FLIGHT=ON
-          -e ARROW_MIMALLOC=OFF
-          -e ARROW_ORC=OFF
-          -e ARROW_PARQUET=OFF
-          -e ARROW_S3=OFF
-          -e CMAKE_UNITY_BUILD=ON
-          -e CPP_MAKE_PARALLELISM=4
-          -e PARQUET_BUILD_EXAMPLES=OFF
-          -e PARQUET_BUILD_EXECUTABLES=OFF
-          -e Protobuf_SOURCE=BUNDLED
-          -e cares_SOURCE=BUNDLED
-          -e gRPC_SOURCE=BUNDLED
-          "
-        # The LLVM's APT repository provides only arm64 binaries.
-        # We should use LLVM provided by Ubuntu.
-        LLVM: "10"
-        UBUNTU: "20.04"
-
-    - name: "Go on s390x"
-      os: linux
-      arch: s390x
-      env:
-        <<: *global_env
-        ARCH: s390x
-        ARROW_CI_MODULES: "GO"
-        DOCKER_IMAGE_ID: debian-go
-
-    - name: "Java on s390x"
-      os: linux
-      arch: s390x
-      env:
-        <<: *global_env
-        ARCH: s390x
-        ARROW_CI_MODULES: "JAVA"
-        DOCKER_IMAGE_ID: debian-java
-        JDK: 11
-
-  allow_failures:
-    - name: "Go on s390x"
-    - name: "Java on s390x"
-
-before_install:
-  - eval "$(python ci/detect-changes.py)"
-  - |
-    arrow_ci_affected=no
-    for arrow_ci_module in ${ARROW_CI_MODULES}; do
-      arrow_ci_affected_variable=ARROW_CI_${arrow_ci_module}_AFFECTED
-      if [ "$(eval "echo \$${arrow_ci_affected_variable}")" = "1" ]; then
-        arrow_ci_affected=yes
-      fi
-    done
-    if [ "${arrow_ci_affected}" = "no" ]; then
-      travis_terminate 0
-    fi
-
-install:
-  - pip3 install -e dev/archery[docker]
-
-script:
-  - sudo sysctl -w kernel.core_pattern="core.%e.%p"
-  # This isn't allowed on Travis CI:
-  #   /home/travis/.travis/functions: line 109: ulimit: core file size: cannot 
modify limit: Operation not permitted
-  - |
-    ulimit -c unlimited || :
-  - |
-    archery docker run \
-      ${DOCKER_RUN_ARGS} \
-      --volume ${PWD}/build:/build \
-      ${DOCKER_IMAGE_ID}
-
-after_success:
-  - |
-    if [ "${TRAVIS_EVENT_TYPE}" = "push" -a \
-         "${TRAVIS_REPO_SLUG}" = "apache/arrow" ]; then
-      archery docker push ${DOCKER_IMAGE_ID} || :
-    fi
diff --git a/ballista/rust/benchmarks/tpch/README.md 
b/ballista/rust/benchmarks/tpch/README.md
index 6d77694..20c4fc7 100644
--- a/ballista/rust/benchmarks/tpch/README.md
+++ b/ballista/rust/benchmarks/tpch/README.md
@@ -41,7 +41,7 @@ To run the benchmarks it is necessary to have at least one 
Ballista scheduler an
 To run the scheduler from source:
 
 ```bash
-cd $ARROW_HOME/rust/ballista/rust/scheduler
+cd $ARROW_HOME/ballista/rust/scheduler
 RUST_LOG=info cargo run --release
 ```
 
@@ -50,7 +50,7 @@ By default the scheduler will bind to `0.0.0.0` and listen on 
port 50050.
 To run the executor from source:
 
 ```bash
-cd $ARROW_HOME/rust/ballista/rust/executor
+cd $ARROW_HOME/ballista/rust/executor
 RUST_LOG=info cargo run --release
 ```
 
@@ -65,7 +65,7 @@ RUST_LOG=info RUSTFLAGS='-C target-cpu=native -C lto -C 
codegen-units=1 -C embed
 To run the benchmarks:
 
 ```bash
-cd $ARROW_HOME/rust/ballista/rust/benchmarks/tpch
+cd $ARROW_HOME/ballista/rust/benchmarks/tpch
 cargo run --release benchmark --host localhost --port 50050 --query 1 --path 
$(pwd)/data --format tbl
 ```
 
diff --git a/dev/.gitignore b/dev/.gitignore
index b079293..399c309 100644
--- a/dev/.gitignore
+++ b/dev/.gitignore
@@ -18,3 +18,4 @@
 # Python virtual environments for dev tools
 .venv*/
 
+__pycache__
diff --git a/dev/archery/archery/cli.py b/dev/archery/archery/cli.py
index bcaddf1..4bbde75 100644
--- a/dev/archery/archery/cli.py
+++ b/dev/archery/archery/cli.py
@@ -289,8 +289,7 @@ def decorate_lint_command(cmd):
 
 
 @archery.command(short_help="Check Arrow source tree for errors")
[email protected]("--src", metavar="<arrow_src>", default=None,
-              callback=validate_arrow_sources,
[email protected]("--src", metavar="<arrow_src>", default=".",
               help="Specify Arrow source directory")
 @click.option("--fix", is_flag=True, type=BOOL, default=False,
               help="Toggle fixing the lint errors if the linter supports it.")
@@ -301,6 +300,8 @@ def decorate_lint_command(cmd):
 @decorate_lint_command
 @click.pass_context
 def lint(ctx, src, fix, iwyu_all, **checks):
+    src = ArrowSources(src)
+
     if checks.pop('all'):
         # "--all" is given => enable all non-selected checks
         for k, v in checks.items():
diff --git a/dev/archery/archery/utils/source.py 
b/dev/archery/archery/utils/source.py
index d30b4f1..1ae0fe0 100644
--- a/dev/archery/archery/utils/source.py
+++ b/dev/archery/archery/utils/source.py
@@ -45,13 +45,7 @@ class ArrowSources:
         ----------
         path : src
         """
-        path = Path(path)
-        # validate by checking a specific path in the arrow source tree
-        if not (path / 'cpp' / 'CMakeLists.txt').exists():
-            raise InvalidArrowSource(
-                "No Arrow C++ sources found in {}.".format(path)
-            )
-        self.path = path
+        self.path = Path(path)
 
     @property
     def archery(self):
diff --git a/dev/release/rat_exclude_files.txt 
b/dev/release/rat_exclude_files.txt
index 68f5668..ead9c8d 100644
--- a/dev/release/rat_exclude_files.txt
+++ b/dev/release/rat_exclude_files.txt
@@ -12,37 +12,6 @@ ci/etc/rprofile
 ci/etc/*.patch
 ci/vcpkg/*.patch
 CHANGELOG.md
-cpp/CHANGELOG_PARQUET.md
-cpp/src/arrow/io/mman.h
-cpp/src/arrow/util/random.h
-cpp/src/arrow/status.cc
-cpp/src/arrow/status.h
-cpp/src/arrow/vendored/*
-cpp/build-support/asan_symbolize.py
-cpp/build-support/cpplint.py
-cpp/build-support/lint_exclusions.txt
-cpp/build-support/iwyu/*
-cpp/cmake_modules/FindPythonLibsNew.cmake
-cpp/cmake_modules/SnappyCMakeLists.txt
-cpp/cmake_modules/SnappyConfig.h
-cpp/examples/parquet/parquet-arrow/cmake_modules/FindArrow.cmake
-cpp/src/parquet/.parquetcppversion
-cpp/src/generated/parquet_constants.cpp
-cpp/src/generated/parquet_constants.h
-cpp/src/generated/parquet_types.cpp
-cpp/src/generated/parquet_types.h
-cpp/src/plasma/thirdparty/ae/ae.c
-cpp/src/plasma/thirdparty/ae/ae.h
-cpp/src/plasma/thirdparty/ae/ae_epoll.c
-cpp/src/plasma/thirdparty/ae/ae_evport.c
-cpp/src/plasma/thirdparty/ae/ae_kqueue.c
-cpp/src/plasma/thirdparty/ae/ae_select.c
-cpp/src/plasma/thirdparty/ae/config.h
-cpp/src/plasma/thirdparty/ae/zmalloc.h
-cpp/src/plasma/thirdparty/dlmalloc.c
-cpp/thirdparty/flatbuffers/include/flatbuffers/base.h
-cpp/thirdparty/flatbuffers/include/flatbuffers/flatbuffers.h
-cpp/thirdparty/flatbuffers/include/flatbuffers/stl_emulation.h
 dev/requirements*.txt
 dev/archery/MANIFEST.in
 dev/archery/requirements*.txt
@@ -115,56 +84,11 @@ dev/tasks/linux-packages/apache-arrow/debian/source/format
 dev/tasks/linux-packages/apache-arrow/debian/watch
 dev/tasks/requirements*.txt
 dev/tasks/conda-recipes/*
-docs/requirements.txt
-go/arrow/flight/Flight_grpc.pb.go
-go/arrow/go.sum
-go/arrow/Gopkg.lock
-go/arrow/flight/Flight.pb.go
-go/arrow/flight/Flight_grpc.pb.go
-go/arrow/internal/cpu/*
-go/arrow/type_string.go
-go/*.tmpldata
-go/*.s
-go/parquet/go.sum
-go/parquet/internal/gen-go/parquet/GoUnusedProtection__.go
-go/parquet/internal/gen-go/parquet/parquet-consts.go
-go/parquet/internal/gen-go/parquet/parquet.go
-js/.npmignore
-js/closure-compiler-scripts/*
-js/src/fb/*.ts
-js/yarn.lock
-js/.eslintignore
-python/cmake_modules
-python/cmake_modules/FindPythonLibsNew.cmake
-python/cmake_modules/SnappyCMakeLists.txt
-python/cmake_modules/SnappyConfig.h
-python/MANIFEST.in
-python/manylinux1/.dockerignore
-python/pyarrow/includes/__init__.pxd
-python/pyarrow/tests/__init__.py
-python/pyarrow/vendored/*
-python/requirements*.txt
 pax_global_header
 MANIFEST.in
 __init__.pxd
 __init__.py
 requirements.txt
-csharp/.gitattributes
-csharp/dummy.git/*
-csharp/src/Apache.Arrow/Flatbuf/*
-csharp/Apache.Arrow.sln
-csharp/examples/FluentBuilderExample/FluentBuilderExample.csproj
-csharp/examples/Examples.sln
-csharp/src/Apache.Arrow/Apache.Arrow.csproj
-csharp/src/Apache.Arrow/Properties/Resources.Designer.cs
-csharp/src/Apache.Arrow/Properties/Resources.resx
-csharp/test/Apache.Arrow.Benchmarks/Apache.Arrow.Benchmarks.csproj
-csharp/test/Apache.Arrow.Tests/Apache.Arrow.Tests.csproj
-csharp/test/Apache.Arrow.Tests/app.config
-csharp/src/Apache.Arrow.Flight/Apache.Arrow.Flight.csproj
-csharp/test/Apache.Arrow.Flight.Tests/Apache.Arrow.Flight.Tests.csproj
-csharp/test/Apache.Arrow.Flight.TestWeb/Apache.Arrow.Flight.TestWeb.csproj
-csharp/src/Apache.Arrow.Flight.AspNetCore/Apache.Arrow.Flight.AspNetCore.csproj
 *.html
 *.sgml
 *.css
@@ -173,35 +97,8 @@ 
csharp/src/Apache.Arrow.Flight.AspNetCore/Apache.Arrow.Flight.AspNetCore.csproj
 *.svg
 *.devhelp2
 *.scss
-r/R/arrowExports.R
-r/src/arrowExports.cpp
-r/DESCRIPTION
-r/LICENSE.md
-r/NAMESPACE
-r/.Rbuildignore
-r/arrow.Rproj
-r/README.md
-r/README.Rmd
-r/man/*.Rd
-r/cran-comments.md
-r/vignettes/*.Rmd
-r/tests/testthat/test-*.txt
-r/inst/include/cpp11.hpp
-r/inst/include/cpp11/*.hpp
 .gitattributes
-ruby/red-arrow/.yardopts
-rust/arrow/test/data/*.csv
-rust/rust-toolchain
-rust/arrow-flight/src/arrow.flight.protocol.rs
-julia/Arrow/Project.toml
-julia/Arrow/README.md
-julia/Arrow/docs/Manifest.toml
-julia/Arrow/docs/Project.toml
-julia/Arrow/docs/make.jl
-julia/Arrow/docs/mkdocs.yml
-julia/Arrow/docs/src/index.md
-julia/Arrow/docs/src/manual.md
-julia/Arrow/docs/src/reference.md
-rust/ballista/rust/benchmarks/tpch/queries/q*.sql
-rust/ballista/rust/scheduler/testdata/*
-rust/ballista/ui/scheduler/yarn.lock
+rust-toolchain
+ballista/rust/benchmarks/tpch/queries/q*.sql
+ballista/rust/scheduler/testdata/*
+ballista/ui/scheduler/yarn.lock
diff --git a/arrow-testing b/testing
similarity index 100%
rename from arrow-testing
rename to testing

Reply via email to