blob: 0c62200e9b1ab7401934d7db40dd123b1e02c93a [file] [log] [blame]
# 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.
groups:
# these groups are just for convenience
# makes it easier to submit related taskshttps://github.com/github/release-radar
{############################# Packaging tasks ###############################}
conan:
- conan-*
conda:
- conda-*
wheel:
- wheel-*
linux:
- almalinux-*
- amazon-linux-*
- centos-*
- debian-*
- ubuntu-*
linux-amd64:
- almalinux-*-amd64
- amazon-linux-*-amd64
- centos-*-amd64
- debian-*-amd64
- ubuntu-*-amd64
linux-arm64:
- almalinux-*-arm64
- debian-*-arm64
- ubuntu-*-arm64
homebrew:
- homebrew-*
packaging:
- almalinux-*
- amazon-linux-*
- centos-*
- conan-*
- debian-*
- java-jars
- nuget
- python-sdist
- r-binary-packages
- ubuntu-*
- wheel-*
- test-ubuntu-*-docs
{############################# Testing tasks #################################}
test:
- test-*
cpp:
- test-*cpp*
c-glib:
- test-*c-glib*
python:
- test-*python*
r:
- test*-r-*
# r-conda tasks
- conda-linux-x64-cpu-r*
- conda-linux-aarch64-cpu-r*
- conda-osx-x64-cpu-r*
- conda-osx-arm64-cpu-r*
- conda-win-x64-cpu-r*
- r-binary-packages
ruby:
- test-*ruby*
vcpkg:
- test-*vcpkg*
integration:
- test-*dask*
- test-*hdfs*
- test-*pandas*
- test-*spark*
example:
- example-*
example-cpp:
- example-*cpp*
example-python:
- example-*python*
fuzz:
- test-*fuzz*
verify-rc:
- verify-rc-*
verify-rc-binaries:
- verify-rc-binaries-*
verify-rc-jars:
- verify-rc-binaries-jars-*
verify-rc-wheels:
- verify-rc-binaries-wheels-*
verify-rc-source:
- verify-rc-source-*
verify-rc-source-macos:
- verify-rc-source-*-macos-*
verify-rc-source-linux:
- verify-rc-source-*-linux-*
{######################## Tasks to run regularly #############################}
nightly:
- verify-rc-source-*
- almalinux-*
- amazon-linux-*
- debian-*
- ubuntu-*
- centos-*
- conan-*
- conda-*
- java-jars
- homebrew-cpp
- nuget
- test-*
- example-*
- wheel-*
- python-sdist
nightly-tests:
- test-*
- example-*
nightly-packaging:
- almalinux-*
- amazon-linux-*
- debian-*
- ubuntu-*
- centos-*
- conda-*
- conan-*
- java-jars
- homebrew-cpp
- nuget
- wheel-*
- python-sdist
- r-binary-packages
nightly-release:
- verify-rc-source-*
tasks:
# arbitrary_task_name:
# template: path of jinja2 templated yml
# params: optional extra parameters
# artifacts: list of regex patterns, each needs to match a single github
# release asset, version variable is replaced in the pattern
# e.g.:
# - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0-linux-64.tar.bz2
############################## Conan ##################################
conan-minimum:
ci: github
template: docker-tests/github.linux.yml
params:
image: conan
conan-maximum:
ci: github
template: docker-tests/github.linux.yml
params:
flags: >-
-e ARROW_CONAN_PARQUET=True
-e ARROW_CONAN_WITH_BROTLI=True
-e ARROW_CONAN_WITH_BZ2=True
-e ARROW_CONAN_WITH_FLIGHT_RPC=True
-e ARROW_CONAN_WITH_GLOG=True
-e ARROW_CONAN_WITH_JEMALLOC=True
-e ARROW_CONAN_WITH_JSON=True
-e ARROW_CONAN_WITH_LZ4=True
-e ARROW_CONAN_WITH_SNAPPY=True
-e ARROW_CONAN_WITH_ZSTD=True
image: conan
########################### Python Minimal ############################
{% for kind in ["fedora-conda", "ubuntu-venv"] %}
example-python-minimal-build-{{ kind }}:
ci: github
template: python-minimal-build/github.linux.yml
params:
type: minimal_build
image: minimal-{{ kind }}
{% endfor %}
############################# Conda Linux (x64) #############################
conda-clean:
ci: azure
template: conda-recipes/azure.clean.yml
# Important notes on the conda setup here:
#
# * On conda-forge the `pyarrow` and `arrow-cpp` packages are built in
# the same feedstock as the dependency matrix is the same for them as
# Python and the OS are the main dimension. The R package `r-arrow` is
# an independent feedstock as it doesn't have the Python but the
# R dimension.
# * The files in `dev/tasks/conda-recipes/.ci_support/` are automatically
# generated and to be synced regularly from the feedstock. We have no way
# yet to generate them inside the arrow repository automatically.
conda-linux-x64-cpu-r43:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_64_cuda_compiler_versionNone
r_config: linux_64_r_base4.3
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- r-arrow-{no_rc_version}-r43(h[a-z0-9]+)_0.conda
conda-linux-x64-cpu-r42:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_64_cuda_compiler_versionNone
r_config: linux_64_r_base4.2
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- r-arrow-{no_rc_version}-r42(h[a-z0-9]+)_0.conda
conda-linux-x64-cpu-py3:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_64_cuda_compiler_versionNone
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cpu.conda
conda-linux-x64-cuda-py3:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_64_cuda_compiler_version11.2
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cuda.conda
########################### Conda Linux (aarch64) ###########################
conda-linux-aarch64-cpu-r43:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_aarch64_cuda_compiler_versionNone
r_config: linux_aarch64_r_base4.3
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- r-arrow-{no_rc_version}-r43(h[a-z0-9]+)_0.conda
conda-linux-aarch64-cpu-r42:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_aarch64_cuda_compiler_versionNone
r_config: linux_aarch64_r_base4.2
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- r-arrow-{no_rc_version}-r42(h[a-z0-9]+)_0.conda
conda-linux-aarch64-cpu-py3:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_aarch64_cuda_compiler_versionNone
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cpu.conda
conda-linux-aarch64-cuda-py3:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_aarch64_cuda_compiler_version11.2
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cuda.conda
########################### Conda Linux (ppc64le) ###########################
conda-linux-ppc64le-cpu-py3:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_ppc64le_cuda_compiler_versionNone
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cpu.conda
conda-linux-ppc64le-cuda-py3:
ci: azure
template: conda-recipes/azure.linux.yml
params:
config: linux_ppc64le_cuda_compiler_version11.2
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cuda.conda
############################## Conda OSX (x64) ##############################
conda-osx-x64-cpu-r43:
ci: azure
template: conda-recipes/azure.osx.yml
params:
config: osx_64_
r_config: osx_64_r_base4.3
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- r-arrow-{no_rc_version}-r43(h[a-z0-9]+)_0.conda
conda-osx-x64-cpu-r42:
ci: azure
template: conda-recipes/azure.osx.yml
params:
config: osx_64_
r_config: osx_64_r_base4.2
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- r-arrow-{no_rc_version}-r42(h[a-z0-9]+)_0.conda
conda-osx-x64-cpu-py3:
ci: azure
template: conda-recipes/azure.osx.yml
params:
config: osx_64_
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cpu.conda
############################# Conda OSX (arm64) #############################
conda-osx-arm64-cpu-r43:
ci: azure
template: conda-recipes/azure.osx.yml
params:
config: osx_arm64_
r_config: osx_arm64_r_base4.3
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- r-arrow-{no_rc_version}-r43(h[a-z0-9]+)_0.conda
conda-osx-arm64-cpu-r42:
ci: azure
template: conda-recipes/azure.osx.yml
params:
config: osx_arm64_
r_config: osx_arm64_r_base4.2
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- r-arrow-{no_rc_version}-r42(h[a-z0-9]+)_0.conda
conda-osx-arm64-cpu-py3:
ci: azure
template: conda-recipes/azure.osx.yml
params:
config: osx_arm64_
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cpu.conda
############################## Conda Windows ################################
conda-win-x64-cpu-r41:
ci: azure
template: conda-recipes/azure.win.yml
params:
config: win_64_cuda_compiler_versionNone
r_config: win_64_
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- r-arrow-{no_rc_version}-r41(h[a-z0-9]+)_0.conda
# conda-forge does not yet support R 4.2 on windows
conda-win-x64-cpu-py3:
ci: azure
template: conda-recipes/azure.win.yml
params:
config: win_64_cuda_compiler_versionNone
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cpu.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cpu.conda
conda-win-x64-cuda-py3:
ci: azure
template: conda-recipes/azure.win.yml
params:
config: win_64_cuda_compiler_version11.2
artifacts:
- libarrow-{no_rc_version}-(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py310(h[a-z0-9]+)_0_cuda.conda
- pyarrow-{no_rc_version}-py311(h[a-z0-9]+)_0_cuda.conda
{% for python_version, python_tag, abi_tag in [("3.8", "cp38", "cp38"),
("3.9", "cp39", "cp39"),
("3.10", "cp310", "cp310"),
("3.11", "cp311", "cp311"),
("3.12", "cp312", "cp312")] %}
{############################## Wheel Linux ##################################}
{% for arch, manylinux_version, platform_tag in [("amd64", "2014", "manylinux_2_17_x86_64.manylinux2014_x86_64"),
("amd64", "2-28", "manylinux_2_28_x86_64"),
("arm64", "2014", "manylinux_2_17_aarch64.manylinux2014_aarch64"),
("arm64", "2-28", "manylinux_2_28_aarch64")] %}
wheel-manylinux-{{ manylinux_version }}-{{ python_tag }}-{{ arch }}:
ci: github
template: python-wheels/github.linux.yml
params:
arch: "{{ arch }}"
python_version: "{{ python_version }}"
manylinux_version: "{{ manylinux_version }}"
wheel_platform_tag: "{{ platform_tag }}"
artifacts:
- pyarrow-{no_rc_version}-{{ python_tag }}-{{ abi_tag }}-{{ platform_tag }}.whl
{% endfor %}
{############################## Wheel OSX ####################################}
{% for macos_version, macos_codename in [("10.14", "mojave")] %}
{% set platform_tag = "macosx_{}_x86_64".format(macos_version.replace('.', '_')) %}
wheel-macos-{{ macos_codename }}-{{ python_tag }}-amd64:
ci: github
template: python-wheels/github.osx.amd64.yml
params:
python_version: "{{ python_version }}"
macos_deployment_target: "{{ macos_version }}"
artifacts:
- pyarrow-{no_rc_version}-{{ python_tag }}-{{ abi_tag }}-{{ platform_tag }}.whl
{% endfor %}
{############################## Wheel Windows ################################}
wheel-windows-{{ python_tag }}-amd64:
ci: github
template: python-wheels/github.windows.yml
params:
python_version: "{{ python_version }}"
artifacts:
- pyarrow-{no_rc_version}-{{ python_tag }}-{{ abi_tag }}-win_amd64.whl
{% endfor %}
{############################## Wheel OSX M1 #################################}
# The python 3.8 universal2 installer has been built with macos deployment
# target 11.0, so we cannot build binaries with earlier deployment target
# otherwise distutils will raise a deployment target version mismatch error.
wheel-macos-big-sur-cp38-arm64:
ci: github
template: python-wheels/github.osx.arm64.yml
params:
arch: arm64
arrow_simd_level: "DEFAULT"
python_version: "3.8"
macos_deployment_target: "11.0"
artifacts:
- pyarrow-{no_rc_version}-cp38-cp38-macosx_11_0_arm64.whl
{% for python_version, python_tag in [("3.9", "cp39"), ("3.10", "cp310"), ("3.11", "cp311"), ("3.12", "cp312")] %}
wheel-macos-big-sur-{{ python_tag }}-arm64:
ci: github
template: python-wheels/github.osx.arm64.yml
params:
arch: arm64
python_version: "{{ python_version }}"
macos_deployment_target: "11.0"
artifacts:
- pyarrow-{no_rc_version}-{{ python_tag }}-{{ python_tag }}-macosx_11_0_arm64.whl
{% endfor %}
{############################ Python sdist ####################################}
python-sdist:
ci: github
template: python-sdist/github.yml
artifacts:
- pyarrow-{no_rc_version}.tar.gz
{############################## Linux PKGS ####################################}
{% for target in ["debian-bullseye",
"debian-bookworm",
"debian-trixie",
"ubuntu-focal",
"ubuntu-jammy",
"ubuntu-lunar"] %}
{% for architecture in ["amd64", "arm64"] %}
{{ target }}-{{ architecture }}:
ci: github
template: linux-packages/github.linux.yml
params:
architecture: "{{ architecture }}"
{% if architecture == "amd64" %}
target: "{{ target }}"
{% else %}
target: "{{ target }}-arm64"
{% endif %}
task_namespace: "apt"
upload_extensions:
- .ddeb
- .deb
- .debian.tar.xz
- .dsc
- .orig.tar.gz
artifacts:
- arrow-tools_{no_rc_version}-1_[a-z0-9]+.deb
{% if architecture == "amd64" %}
- apache-arrow-apt-source_{no_rc_version}-1.debian.tar.xz
- apache-arrow-apt-source_{no_rc_version}-1.dsc
- apache-arrow-apt-source_{no_rc_version}-1_all.deb
- apache-arrow-apt-source_{no_rc_version}.orig.tar.gz
- apache-arrow_{no_rc_version}-1.debian.tar.xz
- apache-arrow_{no_rc_version}-1.dsc
- apache-arrow_{no_rc_version}.orig.tar.gz
{% endif %}
- gir1.2-arrow-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- gir1.2-arrow-dataset-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- gir1.2-arrow-flight-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- gir1.2-arrow-flight-sql-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- gir1.2-gandiva-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- gir1.2-parquet-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-acero-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-acero1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-acero1500_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-dataset-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-dataset-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-dataset-glib-doc_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-dataset-glib1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-dataset-glib1500_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-dataset1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-dataset1500_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-glib-doc_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-glib1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-flight-glib1500_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-sql-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-sql-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-sql-glib-doc_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-sql-glib1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-flight-sql-glib1500_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-sql1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-flight-sql1500_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-flight1500_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-glib-doc_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-glib1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-glib1500_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow1500_{no_rc_version}-1_[a-z0-9]+.deb
- libgandiva-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libgandiva-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libgandiva-glib-doc_{no_rc_version}-1_[a-z0-9]+.deb
- libgandiva-glib1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libgandiva-glib1500_{no_rc_version}-1_[a-z0-9]+.deb
- libgandiva1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libgandiva1500_{no_rc_version}-1_[a-z0-9]+.deb
- libparquet-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libparquet-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libparquet-glib-doc_{no_rc_version}-1_[a-z0-9]+.deb
- libparquet-glib1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libparquet-glib1500_{no_rc_version}-1_[a-z0-9]+.deb
- libparquet1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libparquet1500_{no_rc_version}-1_[a-z0-9]+.deb
- parquet-tools_{no_rc_version}-1_[a-z0-9]+.deb
{% if architecture == "amd64" %}
- gir1.2-arrow-cuda-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-cuda-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-cuda-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-cuda-glib1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-cuda-glib1500_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-cuda1500-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-cuda1500_{no_rc_version}-1_[a-z0-9]+.deb
{% endif %}
{% endfor %}
{% endfor %}
{% for target in ["almalinux-9",
"almalinux-8",
"amazon-linux-2023",
"centos-9-stream",
"centos-8-stream",
"centos-7"] %}
{% set is_rhel7_based = (target in ["amazon-linux-2", "centos-7"]) %}
{% for architecture
in ["amd64", "arm64"]
if not (target == "centos-7" and architecture == "arm64") %}
{{ target }}-{{ architecture }}:
ci: github
template: linux-packages/github.linux.yml
params:
architecture: "{{ architecture }}"
{% if architecture == "amd64" %}
target: "{{ target }}"
{% else %}
target: "{{ target }}-aarch64"
{% endif %}
task_namespace: "yum"
upload_extensions:
- .rpm
artifacts:
{% if architecture == "amd64" %}
- apache-arrow-release-{no_rc_version}-1.[a-z0-9]+.noarch.rpm
- apache-arrow-release-{no_rc_version}-1.[a-z0-9]+.src.rpm
{% endif %}
- arrow[0-9]+-acero-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-acero-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- arrow[0-9]+-acero-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- arrow[0-9]+-dataset-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-dataset-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-dataset-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-dataset-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- arrow[0-9]+-dataset-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- arrow[0-9]+-dataset-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- arrow[0-9]+-dataset-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- arrow-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- arrow-debugsource-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- arrow-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- arrow-flight-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-flight-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-flight-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-flight-sql-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-flight-sql-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-flight-sql-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow[0-9]+-flight-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow[0-9]+-flight-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow[0-9]+-flight-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow[0-9]+-flight-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow[0-9]+-flight-sql-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow[0-9]+-flight-sql-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow[0-9]+-flight-sql-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow[0-9]+-flight-sql-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- arrow-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- arrow-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- arrow[0-9]+-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- arrow[0-9]+-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- arrow[0-9]+-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- arrow[0-9]+-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if architecture == "amd64" %}
- arrow-{no_rc_version}-1.[a-z0-9]+.src.rpm
{% endif %}
- arrow-tools-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- arrow-tools-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
{% if not is_rhel7_based %}
- gandiva-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- gandiva-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- gandiva-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- gandiva[0-9]+-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- gandiva[0-9]+-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- gandiva[0-9]+-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- gandiva[0-9]+-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- parquet-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- parquet-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- parquet-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- parquet[0-9]+-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- parquet[0-9]+-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- parquet[0-9]+-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
- parquet[0-9]+-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
- parquet-tools-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% if not is_rhel7_based %}
- parquet-tools-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
{% endif %}
{% endfor %}
{% endfor %}
############################## Homebrew Tasks ################################
homebrew-cpp:
ci: github
template: homebrew-formulae/github.macos.yml
params:
formula: apache-arrow.rb
############################## Arrow JAR's ##################################
java-jars:
# Build jar's that contains cpp libraries dependencies
ci: github
template: java-jars/github.yml
artifacts:
- arrow-algorithm-{no_rc_snapshot_version}-cyclonedx.json
- arrow-algorithm-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-algorithm-{no_rc_snapshot_version}-javadoc.jar
- arrow-algorithm-{no_rc_snapshot_version}-sources.jar
- arrow-algorithm-{no_rc_snapshot_version}-tests.jar
- arrow-algorithm-{no_rc_snapshot_version}.jar
- arrow-algorithm-{no_rc_snapshot_version}.pom
- arrow-avro-{no_rc_snapshot_version}-cyclonedx.json
- arrow-avro-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-avro-{no_rc_snapshot_version}-javadoc.jar
- arrow-avro-{no_rc_snapshot_version}-sources.jar
- arrow-avro-{no_rc_snapshot_version}-tests.jar
- arrow-avro-{no_rc_snapshot_version}.jar
- arrow-avro-{no_rc_snapshot_version}.pom
- arrow-bom-{no_rc_snapshot_version}.pom
- arrow-c-data-{no_rc_snapshot_version}-cyclonedx.json
- arrow-c-data-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-c-data-{no_rc_snapshot_version}-javadoc.jar
- arrow-c-data-{no_rc_snapshot_version}-sources.jar
- arrow-c-data-{no_rc_snapshot_version}-tests.jar
- arrow-c-data-{no_rc_snapshot_version}.jar
- arrow-c-data-{no_rc_snapshot_version}.pom
- arrow-compression-{no_rc_snapshot_version}-cyclonedx.json
- arrow-compression-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-compression-{no_rc_snapshot_version}-javadoc.jar
- arrow-compression-{no_rc_snapshot_version}-sources.jar
- arrow-compression-{no_rc_snapshot_version}-tests.jar
- arrow-compression-{no_rc_snapshot_version}.jar
- arrow-compression-{no_rc_snapshot_version}.pom
- arrow-dataset-{no_rc_snapshot_version}-cyclonedx.json
- arrow-dataset-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-dataset-{no_rc_snapshot_version}-javadoc.jar
- arrow-dataset-{no_rc_snapshot_version}-sources.jar
- arrow-dataset-{no_rc_snapshot_version}-tests.jar
- arrow-dataset-{no_rc_snapshot_version}.jar
- arrow-dataset-{no_rc_snapshot_version}.pom
- arrow-flight-{no_rc_snapshot_version}-cyclonedx.json
- arrow-flight-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-flight-{no_rc_snapshot_version}.pom
- arrow-format-{no_rc_snapshot_version}-cyclonedx.json
- arrow-format-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-format-{no_rc_snapshot_version}-javadoc.jar
- arrow-format-{no_rc_snapshot_version}-sources.jar
- arrow-format-{no_rc_snapshot_version}-tests.jar
- arrow-format-{no_rc_snapshot_version}.jar
- arrow-format-{no_rc_snapshot_version}.pom
- arrow-gandiva-{no_rc_snapshot_version}-cyclonedx.json
- arrow-gandiva-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-gandiva-{no_rc_snapshot_version}-javadoc.jar
- arrow-gandiva-{no_rc_snapshot_version}-sources.jar
- arrow-gandiva-{no_rc_snapshot_version}-tests.jar
- arrow-gandiva-{no_rc_snapshot_version}.jar
- arrow-gandiva-{no_rc_snapshot_version}.pom
- arrow-java-root-{no_rc_snapshot_version}-cyclonedx.json
- arrow-java-root-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-java-root-{no_rc_snapshot_version}-source-release.zip
- arrow-java-root-{no_rc_snapshot_version}.pom
- arrow-jdbc-{no_rc_snapshot_version}-cyclonedx.json
- arrow-jdbc-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-jdbc-{no_rc_snapshot_version}-javadoc.jar
- arrow-jdbc-{no_rc_snapshot_version}-sources.jar
- arrow-jdbc-{no_rc_snapshot_version}-tests.jar
- arrow-jdbc-{no_rc_snapshot_version}.jar
- arrow-jdbc-{no_rc_snapshot_version}.pom
- arrow-memory-core-{no_rc_snapshot_version}-cyclonedx.json
- arrow-memory-core-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-memory-core-{no_rc_snapshot_version}-javadoc.jar
- arrow-memory-core-{no_rc_snapshot_version}-sources.jar
- arrow-memory-core-{no_rc_snapshot_version}-tests.jar
- arrow-memory-core-{no_rc_snapshot_version}.jar
- arrow-memory-core-{no_rc_snapshot_version}.pom
- arrow-memory-netty-{no_rc_snapshot_version}-cyclonedx.json
- arrow-memory-netty-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-memory-netty-{no_rc_snapshot_version}-javadoc.jar
- arrow-memory-netty-{no_rc_snapshot_version}-sources.jar
- arrow-memory-netty-{no_rc_snapshot_version}-tests.jar
- arrow-memory-netty-{no_rc_snapshot_version}.jar
- arrow-memory-netty-{no_rc_snapshot_version}.pom
- arrow-memory-unsafe-{no_rc_snapshot_version}-cyclonedx.json
- arrow-memory-unsafe-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-memory-unsafe-{no_rc_snapshot_version}-javadoc.jar
- arrow-memory-unsafe-{no_rc_snapshot_version}-sources.jar
- arrow-memory-unsafe-{no_rc_snapshot_version}-tests.jar
- arrow-memory-unsafe-{no_rc_snapshot_version}.jar
- arrow-memory-unsafe-{no_rc_snapshot_version}.pom
- arrow-memory-{no_rc_snapshot_version}-cyclonedx.json
- arrow-memory-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-memory-{no_rc_snapshot_version}.pom
- arrow-orc-{no_rc_snapshot_version}-cyclonedx.json
- arrow-orc-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-orc-{no_rc_snapshot_version}-javadoc.jar
- arrow-orc-{no_rc_snapshot_version}-sources.jar
- arrow-orc-{no_rc_snapshot_version}-tests.jar
- arrow-orc-{no_rc_snapshot_version}.jar
- arrow-orc-{no_rc_snapshot_version}.pom
- arrow-performance-{no_rc_snapshot_version}-cyclonedx.json
- arrow-performance-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-performance-{no_rc_snapshot_version}-sources.jar
- arrow-performance-{no_rc_snapshot_version}-tests.jar
- arrow-performance-{no_rc_snapshot_version}.jar
- arrow-performance-{no_rc_snapshot_version}.pom
- arrow-tools-{no_rc_snapshot_version}-cyclonedx.json
- arrow-tools-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-tools-{no_rc_snapshot_version}-jar-with-dependencies.jar
- arrow-tools-{no_rc_snapshot_version}-javadoc.jar
- arrow-tools-{no_rc_snapshot_version}-sources.jar
- arrow-tools-{no_rc_snapshot_version}-tests.jar
- arrow-tools-{no_rc_snapshot_version}.jar
- arrow-tools-{no_rc_snapshot_version}.pom
- arrow-vector-{no_rc_snapshot_version}-cyclonedx.json
- arrow-vector-{no_rc_snapshot_version}-cyclonedx.xml
- arrow-vector-{no_rc_snapshot_version}-javadoc.jar
- arrow-vector-{no_rc_snapshot_version}-shade-format-flatbuffers.jar
- arrow-vector-{no_rc_snapshot_version}-sources.jar
- arrow-vector-{no_rc_snapshot_version}-tests.jar
- arrow-vector-{no_rc_snapshot_version}.jar
- arrow-vector-{no_rc_snapshot_version}.pom
- flight-core-{no_rc_snapshot_version}-cyclonedx.json
- flight-core-{no_rc_snapshot_version}-cyclonedx.xml
- flight-core-{no_rc_snapshot_version}-jar-with-dependencies.jar
- flight-core-{no_rc_snapshot_version}-javadoc.jar
- flight-core-{no_rc_snapshot_version}-shaded-ext.jar
- flight-core-{no_rc_snapshot_version}-shaded.jar
- flight-core-{no_rc_snapshot_version}-sources.jar
- flight-core-{no_rc_snapshot_version}-tests.jar
- flight-core-{no_rc_snapshot_version}.jar
- flight-core-{no_rc_snapshot_version}.pom
- flight-grpc-{no_rc_snapshot_version}-cyclonedx.json
- flight-grpc-{no_rc_snapshot_version}-cyclonedx.xml
- flight-grpc-{no_rc_snapshot_version}-javadoc.jar
- flight-grpc-{no_rc_snapshot_version}-sources.jar
- flight-grpc-{no_rc_snapshot_version}-tests.jar
- flight-grpc-{no_rc_snapshot_version}.jar
- flight-grpc-{no_rc_snapshot_version}.pom
- flight-integration-tests-{no_rc_snapshot_version}-cyclonedx.json
- flight-integration-tests-{no_rc_snapshot_version}-cyclonedx.xml
- flight-integration-tests-{no_rc_snapshot_version}-jar-with-dependencies.jar
- flight-integration-tests-{no_rc_snapshot_version}-javadoc.jar
- flight-integration-tests-{no_rc_snapshot_version}-sources.jar
- flight-integration-tests-{no_rc_snapshot_version}-tests.jar
- flight-integration-tests-{no_rc_snapshot_version}.jar
- flight-integration-tests-{no_rc_snapshot_version}.pom
- flight-sql-{no_rc_snapshot_version}-cyclonedx.json
- flight-sql-{no_rc_snapshot_version}-cyclonedx.xml
- flight-sql-{no_rc_snapshot_version}-javadoc.jar
- flight-sql-{no_rc_snapshot_version}-sources.jar
- flight-sql-{no_rc_snapshot_version}-tests.jar
- flight-sql-{no_rc_snapshot_version}.jar
- flight-sql-{no_rc_snapshot_version}.pom
- flight-sql-jdbc-core-{no_rc_snapshot_version}-cyclonedx.json
- flight-sql-jdbc-core-{no_rc_snapshot_version}-cyclonedx.xml
- flight-sql-jdbc-core-{no_rc_snapshot_version}-javadoc.jar
- flight-sql-jdbc-core-{no_rc_snapshot_version}-sources.jar
- flight-sql-jdbc-core-{no_rc_snapshot_version}-tests.jar
- flight-sql-jdbc-core-{no_rc_snapshot_version}.jar
- flight-sql-jdbc-core-{no_rc_snapshot_version}.pom
- flight-sql-jdbc-driver-{no_rc_snapshot_version}-cyclonedx.json
- flight-sql-jdbc-driver-{no_rc_snapshot_version}-cyclonedx.xml
- flight-sql-jdbc-driver-{no_rc_snapshot_version}-sources.jar
- flight-sql-jdbc-driver-{no_rc_snapshot_version}-tests.jar
- flight-sql-jdbc-driver-{no_rc_snapshot_version}.jar
- flight-sql-jdbc-driver-{no_rc_snapshot_version}.pom
############################## NuGet packages ###############################
nuget:
ci: github
template: nuget-packages/github.linux.yml
params:
run: ubuntu-csharp
artifacts:
- Apache.Arrow.Flight.AspNetCore.{no_rc_version}.nupkg
- Apache.Arrow.Flight.AspNetCore.{no_rc_version}.snupkg
- Apache.Arrow.Flight.{no_rc_version}.nupkg
- Apache.Arrow.Flight.{no_rc_version}.snupkg
- Apache.Arrow.Compression.{no_rc_version}.nupkg
- Apache.Arrow.Compression.{no_rc_version}.snupkg
- Apache.Arrow.{no_rc_version}.nupkg
- Apache.Arrow.{no_rc_version}.snupkg
######################## R packages & binaries ##############################
r-binary-packages:
ci: github
template: r/github.packages.yml
params:
custom_version: Unset
artifacts:
- r-lib__libarrow__bin__windows__arrow-{no_rc_r_version}\.zip
- r-lib__libarrow__bin__linux-openssl-1.0__arrow-{no_rc_r_version}\.zip
- r-lib__libarrow__bin__linux-openssl-1.1__arrow-{no_rc_r_version}\.zip
- r-lib__libarrow__bin__linux-openssl-3.0__arrow-{no_rc_r_version}\.zip
- r-lib__libarrow__bin__darwin-arm64-openssl-1.1__arrow-{no_rc_r_version}\.zip
- r-lib__libarrow__bin__darwin-arm64-openssl-3.0__arrow-{no_rc_r_version}\.zip
- r-lib__libarrow__bin__darwin-x86_64-openssl-1.1__arrow-{no_rc_r_version}\.zip
- r-lib__libarrow__bin__darwin-x86_64-openssl-3.0__arrow-{no_rc_r_version}\.zip
- r-pkg__bin__windows__contrib__4.1__arrow_{no_rc_r_version}\.zip
- r-pkg__bin__windows__contrib__4.2__arrow_{no_rc_r_version}\.zip
- r-pkg__bin__macosx__contrib__4.1__arrow_{no_rc_r_version}\.tgz
- r-pkg__bin__macosx__contrib__4.2__arrow_{no_rc_r_version}\.tgz
- r-pkg__bin__macosx__big-sur-arm64__contrib__4.1__arrow_{no_rc_r_version}\.tgz
- r-pkg__bin__macosx__big-sur-arm64__contrib__4.2__arrow_{no_rc_r_version}\.tgz
- r-pkg__src__contrib__arrow_{no_rc_r_version}\.tar\.gz
########################### Release verification ############################
######################## Linux verification #################################
{% for distribution, version in [("conda", "latest"),
("almalinux", "8"),
("ubuntu", "20.04"),
("ubuntu", "22.04")] %}
{% for target in ["cpp",
"csharp",
"go",
"integration",
"java",
"js",
"python",
"ruby"] %}
verify-rc-source-{{ target }}-linux-{{ distribution }}-{{ version }}-amd64:
ci: github
template: verify-rc/github.linux.amd64.docker.yml
params:
env:
{{ distribution.upper() }}: "{{ version }}"
target: {{ target }}
distro: {{ distribution }}
{% endfor %}
{% for target in ["jars", "wheels"] %}
verify-rc-binaries-{{ target }}-linux-{{ distribution }}-{{ version }}-amd64:
ci: github
template: verify-rc/github.linux.amd64.docker.yml
params:
target: {{ target }}
distro: {{ distribution }}
{% endfor %}
{% endfor %}
# Separated these tasks from the loop above due to:
# - 'binary' verification is not platform dependent
# - 'yum' and 'apt' requires docker so we need to run the verification script
# directly on the host
{% for target in ["binary", "yum", "apt"] %}
verify-rc-binaries-{{ target }}-linux-amd64:
ci: github
template: verify-rc/github.linux.amd64.yml
params:
target: {{ target }}
{% endfor %}
######################## macOS verification ################################
{% for target in ["cpp", "integration", "python"] %}
verify-rc-source-{{ target }}-macos-conda-amd64:
ci: github
template: verify-rc/github.macos.amd64.yml
params:
target: {{ target }}
use_conda: True
github_runner: "macos-latest"
{% endfor %}
{% for target in ["cpp",
"csharp",
"go",
"integration",
"java",
"js",
"python",
"ruby"] %}
verify-rc-source-{{ target }}-macos-amd64:
ci: github
template: verify-rc/github.macos.amd64.yml
params:
target: {{ target }}
github_runner: "macos-latest"
{% endfor %}
{% for target in ["cpp",
"csharp",
"go",
"integration",
"js",
"python",
"ruby"] %}
verify-rc-source-{{ target }}-macos-arm64:
ci: github
template: verify-rc/github.macos.arm64.yml
params:
env:
ARROW_FLIGHT: 0
ARROW_GANDIVA: 0
TEST_INTEGRATION_JAVA: 0
PYTEST_ADDOPTS: "-k 'not test_cancellation'"
target: {{ target }}
github_runner: ["self-hosted", "macOS", "arm64"]
{% endfor %}
{% for macos_version in ["11", "12"] %}
verify-rc-binaries-wheels-macos-{{ macos_version }}-amd64:
ci: github
template: verify-rc/github.macos.amd64.yml
params:
github_runner: "macos-{{ macos_version }}"
target: "wheels"
{% endfor %}
verify-rc-binaries-wheels-macos-11-arm64:
ci: github
template: verify-rc/github.macos.arm64.yml
params:
env:
PYTEST_ADDOPTS: "-k 'not test_cancellation'"
github_runner: ["self-hosted", "macOS", "arm64"]
target: "wheels"
######################## Windows verification ##############################
verify-rc-source-windows:
ci: github
template: verify-rc/github.win.yml
params:
env:
PYARROW_TEST_GDB: "OFF"
script: "verify-release-candidate.bat"
verify-rc-binaries-wheels-windows:
ci: github
template: verify-rc/github.win.yml
params:
env:
PYARROW_TEST_GDB: "OFF"
script: "verify-release-candidate-wheels.bat"
############################## Docker tests ##################################
{% for image in ["alpine-linux-cpp",
"conda-cpp",
"debian-c-glib",
"ubuntu-c-glib",
"debian-ruby",
"ubuntu-ruby"] %}
test-{{ image }}:
ci: github
template: docker-tests/github.linux.yml
params:
image: {{ image }}
{% endfor %}
# Use azure to run valgrind tests to prevent OOM
test-conda-cpp-valgrind:
ci: azure
template: docker-tests/azure.linux.yml
params:
image: conda-cpp-valgrind
{% for ubuntu_version in ["20.04", "22.04"] %}
test-ubuntu-{{ ubuntu_version }}-cpp:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: "{{ ubuntu_version }}"
image: ubuntu-cpp
{% endfor %}
test-ubuntu-20.04-cpp-bundled:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: 20.04
image: ubuntu-cpp-bundled
test-skyhook-integration:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: 20.04
flags: -e ARROW_SKYHOOK=ON
image: ubuntu-cpp
{% for debian_version in ["11"] %}
test-debian-{{ debian_version }}-cpp-amd64:
ci: github
template: docker-tests/github.linux.yml
params:
env:
ARCH: "amd64"
DEBIAN: "{{ debian_version }}"
image: debian-cpp
test-debian-{{ debian_version }}-cpp-i386:
ci: github
template: docker-tests/github.linux.yml
params:
env:
ARCH: "i386"
DEBIAN: "{{ debian_version }}"
flags: "-e ARROW_S3=OFF -e ARROW_GANDIVA=OFF"
image: debian-cpp
{% endfor %}
test-fedora-38-cpp:
ci: github
template: docker-tests/github.linux.yml
params:
env:
FEDORA: 38
image: fedora-cpp
{% for cpp_standard in [20] %}
test-ubuntu-22.04-cpp-{{ cpp_standard }}:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: 22.04
flags: "-e CMAKE_CXX_STANDARD={{ cpp_standard }}"
image: ubuntu-cpp
{% endfor %}
test-ubuntu-22.04-cpp-no-threading:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: 22.04
flags: "-e ARROW_ENABLE_THREADING=OFF"
image: ubuntu-cpp
test-ubuntu-20.04-cpp-thread-sanitizer:
ci: github
template: docker-tests/github.linux.yml
params:
env:
# clang-tools and llvm version need to be synchronized so as
# to have the right llvm-symbolizer version
CLANG_TOOLS: 11
LLVM: 11
UBUNTU: 20.04
image: ubuntu-cpp-thread-sanitizer
test-ubuntu-20.04-cpp-minimal-with-formats:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: 20.04
flags: "-e ARROW_CSV=ON -e ARROW_PARQUET=ON"
image: ubuntu-cpp-minimal
{% for python_version in ["3.8", "3.9", "3.10", "3.11", "3.12"] %}
test-conda-python-{{ python_version }}:
ci: github
template: docker-tests/github.linux.yml
params:
env:
PYTHON: "{{ python_version }}"
# Temporarily disable error on Warning: https://github.com/apache/arrow/issues/38239
# PYTEST_ARGS: "-W error -W 'ignore:Setting custom ClientSession:DeprecationWarning'"
image: conda-python
{% endfor %}
test-conda-python-3.11-hypothesis:
ci: github
template: docker-tests/github.linux.yml
params:
env:
PYTHON: 3.11
HYPOTHESIS_PROFILE: ci
PYARROW_TEST_HYPOTHESIS: ON
# limit to execute hypothesis tests only
PYTEST_ARGS: "-m hypothesis -W error"
image: conda-python-pandas
test-conda-python-3.10-substrait:
ci: github
template: docker-tests/github.linux.yml
params:
env:
PYTHON: "3.10"
image: conda-python-substrait
test-conda-python-3.10-cython2:
ci: github
template: docker-tests/github.linux.yml
params:
env:
PYTHON: "3.10"
image: conda-python-cython2
test-debian-11-python-3:
ci: azure
template: docker-tests/azure.linux.yml
params:
env:
DEBIAN: 11
image: debian-python
test-ubuntu-20.04-python-3:
ci: azure
template: docker-tests/azure.linux.yml
params:
env:
UBUNTU: 20.04
image: ubuntu-python
test-ubuntu-22.04-python-3:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: 22.04
image: ubuntu-python
test-fedora-38-python-3:
ci: azure
template: docker-tests/azure.linux.yml
params:
env:
FEDORA: 38
image: fedora-python
test-r-linux-valgrind:
ci: azure
template: docker-tests/azure.linux.yml
params:
env:
ARROW_R_DEV: "TRUE"
image: ubuntu-r-valgrind
test-r-linux-rchk:
ci: github
template: r/github.linux.rchk.yml
test-r-linux-as-cran:
ci: github
template: r/github.linux.cran.yml
params:
MATRIX: {{ "${{ matrix.r_image }}" }}
test-r-arrow-backwards-compatibility:
ci: github
template: r/github.linux.arrow.version.back.compat.yml
test-r-versions:
ci: github
template: r/github.linux.versions.yml
params:
MATRIX: {{ "${{ matrix.r_version }}" }}
test-r-install-local:
ci: github
template: r/github.macos-linux.local.yml
test-r-install-local-minsizerel:
ci: github
template: r/github.macos-linux.local.yml
params:
env:
CMAKE_BUILD_TYPE: MinSizeRel
test-r-devdocs:
ci: github
template: r/github.devdocs.yml
test-r-depsource-bundled:
ci: azure
template: r/azure.linux.yml
params:
r_org: library
r_image: r-base
r_tag: latest
flags: '-e ARROW_DEPENDENCY_SOURCE=BUNDLED'
test-r-depsource-system:
ci: github
template: docker-tests/github.linux.yml
params:
flags: '-e ARROW_DEPENDENCY_SOURCE=SYSTEM -e ARROW_GCS=OFF -e xsimd_SOURCE=BUNDLED'
image: ubuntu-r-only-r
test-r-offline-minimal:
ci: azure
template: r/azure.linux.yml
params:
r_org: library
r_image: r-base
r_tag: latest
flags: '-e TEST_OFFLINE_BUILD=true'
test-r-dev-duckdb:
ci: github
template: docker-tests/github.linux.yml
params:
env:
R_DUCKDB_DEV: TRUE
image: ubuntu-r-only-r
test-r-offline-maximal:
ci: github
template: r/github.linux.offline.build.yml
test-r-rhub-debian-gcc-release-custom-ccache:
ci: azure
template: r/azure.linux.yml
params:
r_org: rhub
r_image: debian-gcc-release
r_tag: latest
r_custom_ccache: true
{% for r_org, r_image, r_tag in [("rhub", "ubuntu-gcc-release", "latest"),
("library", "r-base", "latest"),
("rstudio", "r-base", "4.2-focal"),
("rstudio", "r-base", "4.1-opensuse153")] %}
test-r-{{ r_org }}-{{ r_image }}-{{ r_tag }}:
ci: azure
template: r/azure.linux.yml
params:
r_org: {{ r_org }}
r_image: {{ r_image }}
r_tag: {{ r_tag }}
{% endfor %}
# This is with R built with --enable-lto
# CRAN also does R CMD INSTALL --use-LTO
# which overrides the UseLTO field in r/DESCRIPTION
test-r-rhub-debian-gcc-devel-lto-latest:
ci: azure
template: r/azure.linux.yml
params:
r_org: rhub
r_image: debian-gcc-devel-lto
r_tag: latest
flags: '-e NOT_CRAN=false -e INSTALL_ARGS=--use-LTO'
# This one has -flto=auto
test-r-ubuntu-22.04:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: 22.04
R_PRUNE_DEPS: TRUE
image: ubuntu-r-only-r
# This also has -flto=auto
test-r-gcc-11:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: 22.04
GCC_VERSION: 11
image: ubuntu-r-only-r
# This also has -flto=auto
test-r-gcc-12:
ci: github
template: docker-tests/github.linux.yml
params:
env:
UBUNTU: 22.04
GCC_VERSION: 12
image: ubuntu-r-only-r
test-r-rstudio-r-base-4.2-centos7-devtoolset-8:
ci: azure
template: r/azure.linux.yml
params:
r_org: rstudio
r_image: r-base
r_tag: 4.2-centos7
devtoolset_version: 8
test-r-minimal-build:
ci: azure
template: r/azure.linux.yml
params:
r_org: library
r_image: r-base
r_tag: latest
flags: "-e LIBARROW_MINIMAL=TRUE"
test-ubuntu-r-sanitizer:
ci: azure
template: docker-tests/azure.linux.yml
params:
env:
R_PRUNE_DEPS: TRUE
image: ubuntu-r-sanitizer
test-fedora-r-clang-sanitizer:
ci: azure
template: docker-tests/azure.linux.yml
params:
env:
R_PRUNE_DEPS: TRUE
image: fedora-r-clang-sanitizer
{% for go_version, staticcheck in [("1.19", "v0.4.5"), ("1.21", "latest")] %}
test-debian-11-go-{{ go_version }}:
ci: azure
template: docker-tests/azure.linux.yml
params:
env:
DEBIAN: 11
GO: "{{go_version}}"
STATICCHECK: "{{ staticcheck }}"
image: debian-go
{% endfor %}
# be sure to update binary-task.rb when upgrading ubuntu
test-ubuntu-22.04-docs:
ci: github
template: docs/github.linux.yml
params:
env:
UBUNTU: 22.04
pr_number: Unset
flags: "-v $PWD/build/:/build/"
image: ubuntu-docs
publish: false
artifacts:
- docs.tar.gz
############################## CUDA tests #################################
test-cuda-cpp:
ci: github
template: docker-tests/github.cuda.yml
params:
image: ubuntu-cuda-cpp
test-cuda-python:
ci: github
template: docker-tests/github.cuda.yml
params:
image: ubuntu-cuda-python
############################## Fuzz tests #################################
test-build-cpp-fuzz:
ci: github
template: fuzz-tests/github.oss-fuzz.yml
############################## vcpkg tests ##################################
test-build-vcpkg-win:
ci: github
template: vcpkg-tests/github.windows.yml
############################## Integration tests ############################
{% for python_version, pandas_version, numpy_version, cache_leaf in [("3.8", "1.0", "1.19", True),
("3.9", "latest", "latest", False),
("3.10", "latest", "latest", False),
("3.10", "nightly", "nightly", False),
("3.11", "upstream_devel", "nightly", False)] %}
test-conda-python-{{ python_version }}-pandas-{{ pandas_version }}:
ci: github
template: docker-tests/github.linux.yml
params:
env:
PYTHON: "{{ python_version }}"
PANDAS: "{{ pandas_version }}"
NUMPY: "{{ numpy_version }}"
{% if pandas_version == "latest" %}
# ensure we have at least one build with parquet encryption disabled
PARQUET_REQUIRE_ENCRYPTION: "OFF"
{% endif %}
{% if not cache_leaf %}
# use the latest pandas release, so prevent reusing any cached layers
flags: --no-leaf-cache
{% endif %}
image: conda-python-pandas
{% endfor %}
{% for dask_version in ["latest", "upstream_devel"] %}
test-conda-python-3.11-dask-{{ dask_version }}:
ci: github
template: docker-tests/github.linux.yml
params:
env:
PYTHON: 3.11
DASK: "{{ dask_version }}"
# use the latest dask release, so prevent reusing any cached layers
flags: --no-leaf-cache
image: conda-python-dask
{% endfor %}
{% for hdfs_version in ["2.9.2", "3.2.1"] %}
test-conda-python-3.10-hdfs-{{ hdfs_version }}:
ci: github
template: docker-tests/github.linux.yml
params:
env:
PYTHON: "3.10"
HDFS: "{{ hdfs_version }}"
image: conda-python-hdfs
{% endfor %}
{% for python_version, spark_version, test_pyarrow_only, numpy_version, jdk_version in [("3.8", "v3.5.0", "false", "latest", "8"),
("3.10", "v3.5.0", "false", "1.23", "8"),
("3.11", "master", "false", "latest", "17")] %}
test-conda-python-{{ python_version }}-spark-{{ spark_version }}:
ci: github
template: docker-tests/github.linux.yml
params:
env:
PYTHON: "{{ python_version }}"
SPARK: "{{ spark_version }}"
TEST_PYARROW_ONLY: "{{ test_pyarrow_only }}"
NUMPY: "{{ numpy_version }}"
JDK: "{{ jdk_version }}"
# use the branch-3.0 of spark, so prevent reusing any layers
flags: --no-leaf-cache
image: conda-python-spark
fetch_depth: 0
{% endfor %}
{% for kind in ["static", "static-system-dependency"] %}
example-cpp-minimal-build-{{ kind }}:
ci: github
template: cpp-examples/github.linux.yml
params:
type: minimal_build
run: {{ kind }}
{% endfor %}
example-cpp-tutorial:
ci: github
template: cpp-examples/github.linux.yml
params:
type: tutorial_examples
run: tutorial
############################## Utility tasks ############################
preview-docs:
ci: github
template: docs/github.linux.yml
params:
env:
UBUNTU: 22.04
pr_number: Unset
flags: "-v $PWD/build/:/build/"
image: ubuntu-docs
publish: true