diff --git a/dev/release/00-prepare-test.rb b/dev/release/00-prepare-test.rb index a611c0a86622..b601f1414104 100644 --- a/dev/release/00-prepare-test.rb +++ b/dev/release/00-prepare-test.rb @@ -635,7 +635,7 @@ def test_deb_package_names "-Package: libarrow#{@so_version}", "+Package: libarrow#{@next_so_version}", ], - path: "dev/tasks/linux-packages/apache-arrow/debian/control" + path: "dev/tasks/linux-packages/apache-arrow/debian/control.in" }, { sampled_diff: [ diff --git a/dev/release/00-prepare.sh b/dev/release/00-prepare.sh index 35a0d35333a6..3a361666625a 100755 --- a/dev/release/00-prepare.sh +++ b/dev/release/00-prepare.sh @@ -263,9 +263,9 @@ if [ ${PREPARE_DEB_PACKAGE_NAMES} -gt 0 ]; then $(echo $target | sed -e "s/${deb_lib_suffix}/${next_deb_lib_suffix}/") done deb_lib_suffix_substitute_pattern="s/(lib(arrow|gandiva|parquet|plasma)[-a-z]*)${deb_lib_suffix}/\\1${next_deb_lib_suffix}/g" - sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}" debian*/control - rm -f debian*/control.bak - git add debian*/control + sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}" debian*/control* + rm -f debian*/control*.bak + git add debian*/control* cd - cd $SOURCE_DIR/../tasks/ sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}" tasks.yml diff --git a/dev/release/rat_exclude_files.txt b/dev/release/rat_exclude_files.txt index 2ba1bc98d08d..10bdcf18613e 100644 --- a/dev/release/rat_exclude_files.txt +++ b/dev/release/rat_exclude_files.txt @@ -107,7 +107,7 @@ dev/tasks/linux-packages/apache-arrow/debian.ubuntu-xenial/rules dev/tasks/linux-packages/apache-arrow/debian.ubuntu-xenial/source/format dev/tasks/linux-packages/apache-arrow/debian.ubuntu-xenial/watch dev/tasks/linux-packages/apache-arrow/debian/compat -dev/tasks/linux-packages/apache-arrow/debian/control +dev/tasks/linux-packages/apache-arrow/debian/control.in dev/tasks/linux-packages/apache-arrow/debian/gir1.2-arrow-1.0.install dev/tasks/linux-packages/apache-arrow/debian/gir1.2-arrow-cuda-1.0.install dev/tasks/linux-packages/apache-arrow/debian/gir1.2-arrow-dataset-1.0.install @@ -266,4 +266,4 @@ 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 \ No newline at end of file +julia/Arrow/docs/src/reference.md diff --git a/dev/tasks/linux-packages/apache-arrow-archive-keyring/apt/ubuntu-groovy/Dockerfile b/dev/tasks/linux-packages/apache-arrow-archive-keyring/apt/ubuntu-groovy/Dockerfile new file mode 100644 index 000000000000..7efd5d1df323 --- /dev/null +++ b/dev/tasks/linux-packages/apache-arrow-archive-keyring/apt/ubuntu-groovy/Dockerfile @@ -0,0 +1,41 @@ +# 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. + +FROM ubuntu:groovy + +RUN \ + echo "debconf debconf/frontend select Noninteractive" | \ + debconf-set-selections + +RUN \ + echo 'APT::Install-Recommends "false";' > \ + /etc/apt/apt.conf.d/disable-install-recommends + +ARG DEBUG + +RUN \ + quiet=$([ "${DEBUG}" = "yes" ] || echo "-qq") && \ + apt update ${quiet} && \ + apt install -y -V ${quiet} \ + build-essential \ + debhelper \ + devscripts \ + fakeroot \ + gnupg \ + lsb-release && \ + apt clean && \ + rm -rf /var/lib/apt/lists/* diff --git a/dev/tasks/linux-packages/apache-arrow/Rakefile b/dev/tasks/linux-packages/apache-arrow/Rakefile index 32ebeb9b4310..9d5fb0ef41a6 100644 --- a/dev/tasks/linux-packages/apache-arrow/Rakefile +++ b/dev/tasks/linux-packages/apache-arrow/Rakefile @@ -82,6 +82,21 @@ class ApacheArrowPackageTask < PackageTask "--output", @full_archive_name) end end + + def apt_arm64_cuda_available_target?(target) + # ubuntu-20.10 has navidia-cuda-toolkit but not libcuda1. + # ubuntu-21.04 may support this. + false + end + + def apt_prepare_debian_control(control_in, target) + if apt_arm64_cuda_available_target?(target) + cuda_architecture = "any" + else + cuda_architecture = "i386 amd64" + end + control_in.gsub(/@CUDA_ARCHITECTURE@/, cuda_architecture) + end end task = ApacheArrowPackageTask.new diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-groovy-arm64/from b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-groovy-arm64/from new file mode 100644 index 000000000000..d1f6aa9a854c --- /dev/null +++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-groovy-arm64/from @@ -0,0 +1,18 @@ +# 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. + +arm64v8/ubuntu:groovy diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-groovy/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-groovy/Dockerfile new file mode 100644 index 000000000000..449d134f9810 --- /dev/null +++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-groovy/Dockerfile @@ -0,0 +1,79 @@ +# 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. + +ARG FROM=ubuntu:groovy +FROM ${FROM} + +COPY qemu-* /usr/bin/ + +RUN \ + echo "debconf debconf/frontend select Noninteractive" | \ + debconf-set-selections + +RUN \ + echo 'APT::Install-Recommends "false";' > \ + /etc/apt/apt.conf.d/disable-install-recommends + +ARG DEBUG +RUN \ + quiet=$([ "${DEBUG}" = "yes" ] || echo "-qq") && \ + apt update ${quiet} && \ + apt install -y -V ${quiet} \ + build-essential \ + clang-11 \ + cmake \ + debhelper \ + devscripts \ + git \ + gtk-doc-tools \ + libboost-filesystem-dev \ + libboost-regex-dev \ + libboost-system-dev \ + libbrotli-dev \ + libbz2-dev \ + libcurl4-openssl-dev \ + libgirepository1.0-dev \ + libglib2.0-doc \ + libgmock-dev \ + libgoogle-glog-dev \ + libgrpc++-dev \ + libgtest-dev \ + liblz4-dev \ + libre2-dev \ + libsnappy-dev \ + libssl-dev \ + libthrift-dev \ + libutf8proc-dev \ + libzstd-dev \ + llvm-11-dev \ + lsb-release \ + ninja-build \ + pkg-config \ + protobuf-compiler-grpc \ + python3-dev \ + python3-numpy \ + python3-pip \ + python3-setuptools \ + rapidjson-dev \ + tzdata \ + zlib1g-dev && \ + ! apt list | grep -q '^libcuda1' || \ + apt install -y -V ${quiet} nvidia-cuda-toolkit && \ + apt clean && \ + python3 -m pip install --no-use-pep517 meson && \ + ln -s /usr/local/bin/meson /usr/bin/ && \ + rm -rf /var/lib/apt/lists/* diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-groovy/qemu-dummy-static b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-groovy/qemu-dummy-static new file mode 100755 index 000000000000..c42e0962def3 --- /dev/null +++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-groovy/qemu-dummy-static @@ -0,0 +1,33 @@ +#!/bin/sh +# +# 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. + +# Do nothing. This exists only for not requiring qemu-aarch64-static copy. +# Recent Debian (buster or later) and Ubuntu (18.10 or later) on amd64 hosts or +# arm64 host don't require qemu-aarch64-static in Docker image. But old Debian +# and Ubuntu hosts on amd64 require qemu-aarch64-static in Docker image. +# +# We use "COPY qemu* /usr/bin/" in Dockerfile. If we don't put any "qemnu*", +# the "COPY" is failed. It means that we always require "qemu*" even if we +# use recent Debian/Ubuntu or arm64 host. If we have this dummy "qemu*" file, +# the "COPY" isn't failed. It means that we can copy "qemu*" only when we +# need. +# +# See also "script" in dev/tasks/linux-packages/azure.linux.arm64.yml. +# Azure Pipelines uses old Ubuntu (18.04). +# So we need to put "qemu-aarch64-static" into this directory. diff --git a/dev/tasks/linux-packages/apache-arrow/debian/control b/dev/tasks/linux-packages/apache-arrow/debian/control.in similarity index 97% rename from dev/tasks/linux-packages/apache-arrow/debian/control rename to dev/tasks/linux-packages/apache-arrow/debian/control.in index f2624026a268..824f41bdde1f 100644 --- a/dev/tasks/linux-packages/apache-arrow/debian/control +++ b/dev/tasks/linux-packages/apache-arrow/debian/control.in @@ -48,7 +48,7 @@ Description: Apache Arrow is a data processing library for analysis Package: libarrow-cuda300 Section: libs -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: @@ -128,7 +128,7 @@ Description: Apache Arrow is a data processing library for analysis Package: libarrow-cuda-dev Section: libdevel -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Depends: ${misc:Depends}, @@ -217,7 +217,7 @@ Description: Gandiva is a toolset for compiling and evaluating expressions Package: libplasma300 Section: libs -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: @@ -230,7 +230,7 @@ Description: Plasma is an in-memory object store and cache for big data. Package: plasma-store-server Section: utils -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, @@ -242,7 +242,7 @@ Description: Plasma is an in-memory object store and cache for big data. Package: libplasma-dev Section: libdevel -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Depends: ${misc:Depends}, @@ -328,7 +328,7 @@ Description: Apache Arrow is a data processing library for analysis Package: libarrow-cuda-glib300 Section: libs -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: @@ -342,7 +342,7 @@ Description: Apache Arrow is a data processing library for analysis Package: gir1.2-arrow-cuda-1.0 Section: introspection -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Depends: ${gir:Depends}, @@ -353,7 +353,7 @@ Description: Apache Arrow is a data processing library for analysis Package: libarrow-cuda-glib-dev Section: libdevel -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Depends: ${misc:Depends}, @@ -471,7 +471,7 @@ Description: Gandiva is a toolset for compiling and evaluating expressions Package: libplasma-glib300 Section: libs -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: @@ -485,7 +485,7 @@ Description: Plasma is an in-memory object store and cache for big data. Package: gir1.2-plasma-1.0 Section: introspection -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Depends: ${gir:Depends}, @@ -496,7 +496,7 @@ Description: Plasma is an in-memory object store and cache for big data. Package: libplasma-glib-dev Section: libdevel -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: same Depends: ${misc:Depends}, @@ -510,7 +510,7 @@ Description: Plasma is an in-memory object store and cache for big data. Package: libplasma-glib-doc Section: doc -Architecture: i386 amd64 +Architecture: @CUDA_ARCHITECTURE@ Multi-Arch: foreign Depends: ${misc:Depends} diff --git a/dev/tasks/linux-packages/package-task.rb b/dev/tasks/linux-packages/package-task.rb index 7fa7af10b3e7..f15ad07504e6 100644 --- a/dev/tasks/linux-packages/package-task.rb +++ b/dev/tasks/linux-packages/package-task.rb @@ -241,6 +241,8 @@ def apt_targets_default # "ubuntu-bionic-arm64", "ubuntu-focal", # "ubuntu-focal-arm64", + "ubuntu-groovy", + # "ubuntu-groovy-arm64", ] end @@ -256,15 +258,47 @@ def apt_dir "apt" end + def apt_prepare_debian_dirs(tmp_dir) + apt_targets.each do |target| + source_debian_dir = nil + specific_debian_dir = "debian.#{target}" + distribution, code_name, _architecture = target.split("-", 3) + platform = [distribution, code_name].join("-") + platform_debian_dir = "debian.#{platform}" + if File.exist?(specific_debian_dir) + source_debian_dir = specific_debian_dir + elsif File.exist?(platform_debian_dir) + source_debian_dir = platform_debian_dir + else + source_debian_dir = "debian" + end + + prepared_debian_dir = "#{tmp_dir}/debian.#{target}" + cp_r(source_debian_dir, prepared_debian_dir) + control_in_path = "#{prepared_debian_dir}/control.in" + if File.exist?(control_in_path) + control_in = File.read(control_in_path) + rm_f(control_in_path) + File.open("#{prepared_debian_dir}/control", "w") do |control| + prepared_control = apt_prepare_debian_control(control_in, target) + control.print(prepared_control) + end + end + end + end + + def apt_prepare_debian_control(control_in, target) + message = "#{__method__} must be defined to use debian/control.in" + raise NotImplementedError, message + end + def apt_build tmp_dir = "#{apt_dir}/tmp" rm_rf(tmp_dir) mkdir_p(tmp_dir) cp(deb_archive_name, File.join(tmp_dir, deb_archive_name)) - Dir.glob("debian*") do |debian_dir| - cp_r(debian_dir, "#{tmp_dir}/#{debian_dir}") - end + apt_prepare_debian_dirs(tmp_dir) env_sh = "#{apt_dir}/env.sh" File.open(env_sh, "w") do |file| diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 0728599229e4..c5a6948bb1a4 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -689,6 +689,13 @@ tasks: - libarrow-python300_{no_rc_version}-1_[a-z0-9]+.deb - libarrow300-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb - libarrow300_{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-glib300-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb + - libgandiva-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libgandiva300-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb + - libgandiva300_{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 @@ -810,6 +817,13 @@ tasks: - libarrow-python300_{no_rc_version}-1_[a-z0-9]+.deb - libarrow300-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb - libarrow300_{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-glib300-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb + - libgandiva-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libgandiva300-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb + - libgandiva300_{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 @@ -906,6 +920,11 @@ tasks: - libarrow-python-dev_{no_rc_version}-1_[a-z0-9]+.deb - libarrow-python300_{no_rc_version}-1_[a-z0-9]+.deb - libarrow300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libgandiva300_{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 @@ -1005,6 +1024,11 @@ tasks: - libarrow-python-dev_{no_rc_version}-1_[a-z0-9]+.deb - libarrow-python300_{no_rc_version}-1_[a-z0-9]+.deb - libarrow300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libgandiva300_{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 @@ -1104,6 +1128,116 @@ tasks: - libarrow-python-dev_{no_rc_version}-1_[a-z0-9]+.deb - libarrow-python300_{no_rc_version}-1_[a-z0-9]+.deb - libarrow300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libgandiva300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libparquet300_{no_rc_version}-1_[a-z0-9]+.deb + + ubuntu-groovy-amd64: + ci: github + template: linux-packages/github.linux.amd64.yml + params: + build_task: "apt:build" + target: "ubuntu-groovy" + upload_extensions: + - .ddeb + - .deb + - .debian.tar.xz + - .dsc + - .orig.tar.gz + artifacts: + - apache-arrow-archive-keyring_{no_rc_version}-1.debian.tar.xz + - apache-arrow-archive-keyring_{no_rc_version}-1.dsc + - apache-arrow-archive-keyring_{no_rc_version}-1_all.deb + - apache-arrow-archive-keyring_{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 + - gir1.2-arrow-1.0_{no_rc_version}-1_[a-z0-9]+.deb + - gir1.2-arrow-cuda-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 + - gir1.2-plasma-1.0_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-dev_{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-glib300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-cuda300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-dataset300_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-flight-dev_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-flight300_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-python-dev_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-python300_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libgandiva300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libparquet300_{no_rc_version}-1_[a-z0-9]+.deb + - libplasma-dev_{no_rc_version}-1_[a-z0-9]+.deb + - libplasma-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb + - libplasma-glib-doc_{no_rc_version}-1_[a-z0-9]+.deb + - libplasma-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libplasma300_{no_rc_version}-1_[a-z0-9]+.deb + - plasma-store-server-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb + - plasma-store-server_{no_rc_version}-1_[a-z0-9]+.deb + + ubuntu-groovy-arm64: + ci: travis + template: linux-packages/travis.linux.arm64.yml + params: + build_task: "apt:build" + target: "ubuntu-groovy-arm64" + upload_extensions: + - .ddeb + - .deb + - .debian.tar.xz + - .dsc + - .orig.tar.gz + artifacts: + - apache-arrow_{no_rc_version}-1.debian.tar.xz + - apache-arrow_{no_rc_version}-1.dsc + - apache-arrow_{no_rc_version}.orig.tar.gz + - gir1.2-arrow-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-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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-dataset300_{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-flight300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-python-dev_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow-python300_{no_rc_version}-1_[a-z0-9]+.deb + - libarrow300_{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-glib300_{no_rc_version}-1_[a-z0-9]+.deb + - libgandiva300_{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