Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
# specific language governing permissions and limitations
# under the License.
---
BasedOnStyle: Google
DerivePointerAlignment: false
BasedOnStyle: Google
ColumnLimit: 90
DerivePointerAlignment: false
IncludeBlocks: Preserve
58 changes: 37 additions & 21 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -29,47 +29,63 @@ DOCKER_VOLUME_PREFIX=

# turn on inline build cache, this is a docker buildx feature documented
# at https://github.com/docker/buildx#--cache-tonametypetypekeyvalue
BUILDKIT_INLINE_CACHE=1
COMPOSE_DOCKER_CLI_BUILD=1
DOCKER_BUILDKIT=1
BUILDKIT_INLINE_CACHE=1

# different architecture notations
ARCH=amd64
ARCH_ALIAS=x86_64
ARCH_SHORT_ALIAS=x64
ARCH_SHORT=amd64

ULIMIT_CORE=-1
# Default repository to pull and push images from
REPO=apache/arrow-dev
CUDA=9.1

# The setup attempts to generate coredumps by default, in order to disable the
# coredump generation set it to 0
ULIMIT_CORE=-1

# Default versions for platforms
DEBIAN=11
UBUNTU=20.04
FEDORA=33
PYTHON=3.6
LLVM=12
CLANG_TOOLS=8
UBUNTU=20.04

# Default versions for various dependencies
CLANG_TOOLS=12
CUDA=9.1
DASK=latest
DOTNET=3.1
GCC_VERSION=""
GO=1.15
NODE=14
MAVEN=3.5.4
HDFS=3.2.1
JDK=8
KARTOTHEK=latest
LLVM=12
MAVEN=3.5.4
NODE=14
NUMPY=latest
PANDAS=latest
DASK=latest
TURBODBC=latest
KARTOTHEK=latest
HDFS=3.2.1
SPARK=master
DOTNET=3.1
PYTHON=3.6
R=4.1
ARROW_R_DEV=TRUE
GCC_VERSION=""
SPARK=master
TURBODBC=latest

# These correspond to images on Docker Hub that contain R, e.g. rhub/ubuntu-gcc-release:latest
R_ORG=rhub
ARROW_R_DEV=TRUE
R_IMAGE=ubuntu-gcc-release
R_ORG=rhub
R_PRUNE_DEPS=FALSE
R_TAG=latest
TZ=UTC

# -1 does not attempt to install a devtoolset version, any positive integer will install devtoolset-n
DEVTOOLSET_VERSION=-1

# Used for the manylinux and windows wheels, please update the crossbow configuration on update:
# Used through docker-compose.yml and serves as the default version for the
# ci/scripts/install_vcpkg.sh script. Prefer to use short SHAs to keep the
# docker tags more readable.
#
# Please also update the crossbow configuration in order to keep the github
# actions cache up to date for the macOS wheels:
# https://github.com/ursacomputing/crossbow/blob/master/.github/workflows/cache_vcpkg.yml
VCPKG="2021.04.30"
VCPKG="30465138e"
11 changes: 8 additions & 3 deletions .github/workflows/cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,11 @@ jobs:
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Run
- name: Check CMake presets
run: |
cd cpp
cmake --list-presets
- name: Run minimal example
run: |
cd cpp/examples/minimal_build
docker-compose run --rm minimal
Expand Down Expand Up @@ -178,7 +182,7 @@ jobs:
ci/scripts/cpp_test.sh $(pwd) $(pwd)/build

windows:
name: AMD64 ${{ matrix.name }} C++
name: AMD64 ${{ matrix.name }} C++17
runs-on: ${{ matrix.os }}
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
timeout-minutes: 45
Expand All @@ -197,6 +201,7 @@ jobs:
ARROW_BUILD_SHARED: ON
ARROW_BUILD_STATIC: OFF
ARROW_BUILD_TESTS: ON
ARROW_CXXFLAGS: "/std:c++17"
ARROW_DATASET: ON
ARROW_FLIGHT: OFF
ARROW_HDFS: ON
Expand All @@ -218,7 +223,7 @@ jobs:
CMAKE_INSTALL_LIBDIR: bin
CMAKE_INSTALL_PREFIX: /usr
CMAKE_UNITY_BUILD: ON
NPROC: 2
NPROC: 3
steps:
- name: Disable Crash Dialogs
run: |
Expand Down
77 changes: 77 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# 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: Docs

on:
push:
pull_request:
paths:
- '.github/workflows/docs.yml'
- 'ci/docker/linux-apt-docs.dockerfile'
- 'ci/docker/linux-apt-python-3.dockerfile'
- 'ci/docker/ubuntu-20.04-cpp.dockerfile'
- 'ci/scripts/c_glib_build.sh'
- 'ci/scripts/cpp_build.sh'
- 'ci/scripts/docs_build.sh'
- 'ci/scripts/java_build.sh'
- 'ci/scripts/js_build.sh'
- 'ci/scripts/python_build.sh'
- 'ci/scripts/r_build.sh'

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: AMD64 Ubuntu 20.04 Complete Documentation
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
timeout-minutes: 150
env:
UBUNTU: "20.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: ubuntu-docs-${{ hashFiles('cpp/**') }}
restore-keys: ubuntu-docs-
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Setup Archery
run: pip install -e dev/archery[docker]
- name: Execute Docker Build
run: archery docker run ubuntu-docs
- name: Docker Push
if: success() && github.event_name == 'push' && github.repository == 'apache/arrow'
continue-on-error: true
run: archery docker push ubuntu-docs
2 changes: 1 addition & 1 deletion .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
name: AMD64 Ubuntu ${{ matrix.ubuntu }} GLib & Ruby
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
timeout-minutes: 40
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
Expand Down
26 changes: 22 additions & 4 deletions c_glib/arrow-glib/basic-data-type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,9 @@ G_BEGIN_DECLS
* #GArrowLargeStringDataType is a class for the 64-bit offsets UTF-8
* encoded string data type.
*
* #GArrowTemporalDataType is an abstract class for temporal related data type
* such as #GArrowDate32DataType.
*
* #GArrowDate32DataType is a class for the number of days since UNIX
* epoch in the 32-bit signed integer data type.
*
Expand Down Expand Up @@ -975,9 +978,24 @@ garrow_large_string_data_type_new(void)
}


G_DEFINE_ABSTRACT_TYPE(GArrowTemporalDataType,
garrow_temporal_data_type,
GARROW_TYPE_FIXED_WIDTH_DATA_TYPE)

static void
garrow_temporal_data_type_init(GArrowTemporalDataType *object)
{
}

static void
garrow_temporal_data_type_class_init(GArrowTemporalDataTypeClass *klass)
{
}


G_DEFINE_TYPE(GArrowDate32DataType,
garrow_date32_data_type,
GARROW_TYPE_DATA_TYPE)
GARROW_TYPE_TEMPORAL_DATA_TYPE)

static void
garrow_date32_data_type_init(GArrowDate32DataType *object)
Expand Down Expand Up @@ -1012,7 +1030,7 @@ garrow_date32_data_type_new(void)

G_DEFINE_TYPE(GArrowDate64DataType,
garrow_date64_data_type,
GARROW_TYPE_DATA_TYPE)
GARROW_TYPE_TEMPORAL_DATA_TYPE)

static void
garrow_date64_data_type_init(GArrowDate64DataType *object)
Expand Down Expand Up @@ -1047,7 +1065,7 @@ garrow_date64_data_type_new(void)

G_DEFINE_TYPE(GArrowTimestampDataType,
garrow_timestamp_data_type,
GARROW_TYPE_DATA_TYPE)
GARROW_TYPE_TEMPORAL_DATA_TYPE)

static void
garrow_timestamp_data_type_init(GArrowTimestampDataType *object)
Expand Down Expand Up @@ -1102,7 +1120,7 @@ garrow_timestamp_data_type_get_unit(GArrowTimestampDataType *timestamp_data_type

G_DEFINE_ABSTRACT_TYPE(GArrowTimeDataType,
garrow_time_data_type,
GARROW_TYPE_DATA_TYPE)
GARROW_TYPE_TEMPORAL_DATA_TYPE)

static void
garrow_time_data_type_init(GArrowTimeDataType *object)
Expand Down
28 changes: 20 additions & 8 deletions c_glib/arrow-glib/basic-data-type.h
Original file line number Diff line number Diff line change
Expand Up @@ -357,15 +357,27 @@ GARROW_AVAILABLE_IN_0_17
GArrowLargeStringDataType *garrow_large_string_data_type_new(void);


#define GARROW_TYPE_TEMPORAL_DATA_TYPE (garrow_temporal_data_type_get_type())
G_DECLARE_DERIVABLE_TYPE(GArrowTemporalDataType,
garrow_temporal_data_type,
GARROW,
TEMPORAL_DATA_TYPE,
GArrowFixedWidthDataType)
struct _GArrowTemporalDataTypeClass
{
GArrowFixedWidthDataTypeClass parent_class;
};


#define GARROW_TYPE_DATE32_DATA_TYPE (garrow_date32_data_type_get_type())
G_DECLARE_DERIVABLE_TYPE(GArrowDate32DataType,
garrow_date32_data_type,
GARROW,
DATE32_DATA_TYPE,
GArrowDataType)
GArrowTemporalDataType)
struct _GArrowDate32DataTypeClass
{
GArrowDataTypeClass parent_class;
GArrowTemporalDataTypeClass parent_class;
};

GArrowDate32DataType *garrow_date32_data_type_new (void);
Expand All @@ -376,10 +388,10 @@ G_DECLARE_DERIVABLE_TYPE(GArrowDate64DataType,
garrow_date64_data_type,
GARROW,
DATE64_DATA_TYPE,
GArrowDataType)
GArrowTemporalDataType)
struct _GArrowDate64DataTypeClass
{
GArrowDataTypeClass parent_class;
GArrowTemporalDataTypeClass parent_class;
};

GArrowDate64DataType *garrow_date64_data_type_new (void);
Expand All @@ -390,10 +402,10 @@ G_DECLARE_DERIVABLE_TYPE(GArrowTimestampDataType,
garrow_timestamp_data_type,
GARROW,
TIMESTAMP_DATA_TYPE,
GArrowDataType)
GArrowTemporalDataType)
struct _GArrowTimestampDataTypeClass
{
GArrowDataTypeClass parent_class;
GArrowTemporalDataTypeClass parent_class;
};

GArrowTimestampDataType *garrow_timestamp_data_type_new (GArrowTimeUnit unit);
Expand All @@ -406,10 +418,10 @@ G_DECLARE_DERIVABLE_TYPE(GArrowTimeDataType,
garrow_time_data_type,
GARROW,
TIME_DATA_TYPE,
GArrowDataType)
GArrowTemporalDataType)
struct _GArrowTimeDataTypeClass
{
GArrowDataTypeClass parent_class;
GArrowTemporalDataTypeClass parent_class;
};

GArrowTimeUnit garrow_time_data_type_get_unit (GArrowTimeDataType *time_data_type);
Expand Down
9 changes: 7 additions & 2 deletions ci/appveyor-cpp-setup.bat
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ conda config --set remote_connect_timeout_secs 12
conda config --append disallowed_packages pypy3
conda info -a

@rem
@rem Install mamba to the base environment
@rem
conda install -q -y -c conda-forge mamba

@rem
@rem Create conda environment for Build and Toolchain jobs
@rem
Expand All @@ -60,7 +65,7 @@ if "%JOB%" == "Toolchain" (
)
if "%JOB%" NEQ "Build_Debug" (
@rem Arrow conda environment is only required for the Build and Toolchain jobs
conda create -n arrow -q -y -c conda-forge ^
mamba create -n arrow -q -y -c conda-forge ^
--file=ci\conda_env_python.txt ^
%CONDA_PACKAGES% ^
"cmake=3.17" ^
Expand All @@ -74,7 +79,7 @@ if "%JOB%" NEQ "Build_Debug" (
@rem On Windows, GTest is always bundled from source instead of using
@rem conda binaries, avoid any interference between the two versions.
if "%JOB%" == "Toolchain" (
conda uninstall -n arrow -q -y -c conda-forge gtest
mamba uninstall -n arrow -q -y -c conda-forge gtest
)
)

Expand Down
2 changes: 1 addition & 1 deletion ci/conda_env_cpp.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# under the License.

aws-sdk-cpp
benchmark>=1.5.4
benchmark>=1.6.0
boost-cpp>=1.68.0
brotli
bzip2
Expand Down
Loading