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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM ubuntu:22.04
FROM ubuntu:latest

ENV DEBIAN_FRONTEND=noninteractive

Expand All @@ -29,7 +29,7 @@ RUN apt-get update && apt-get install -y ca-certificates lsb-release wget \
&& apt-get install -y ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb \
&& apt-get update \
&& apt-get install -y \
cmake \
ninja-build \
build-essential \
libarrow-dev \
libarrow-dataset-dev \
Expand All @@ -44,6 +44,11 @@ RUN apt-get update && apt-get install -y ca-certificates lsb-release wget \
sudo \
tzdata \
maven \
&& wget https://github.com/Kitware/CMake/releases/download/v3.28.0/cmake-3.28.0-linux-x86_64.tar.gz -O /tmp/cmake.tar.gz \
&& tar -xzf /tmp/cmake.tar.gz -C /opt \
&& ln -sf /opt/cmake-3.28.0-linux-x86_64/bin/cmake /usr/local/bin/cmake \
&& ln -sf /opt/cmake-3.28.0-linux-x86_64/bin/ccmake /usr/local/bin/ccmake \
&& rm /tmp/cmake.tar.gz \
&& curl -sSL https://install.python-poetry.org | python3 - \
&& wget https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-22538c65/clang-format-8_linux-amd64 -O /usr/bin/clang-format \
&& chmod +x /usr/bin/clang-format \
Expand Down
68 changes: 34 additions & 34 deletions .github/workflows/ci-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ name: GraphAr C++ CI Nightly

on:
workflow_dispatch:
schedule:
# The notifications for scheduled workflows are sent to the user who
# last modified the cron syntax in the workflow file.
# Trigger the workflow at 03:00(CST) every day.
- cron: '00 19 * * *'
push:
branches:
- main
pull_request:
branches:
- main
jobs:
GraphAr-ubuntu-arrow-from-source:
if: ${{ github.ref == 'refs/heads/main' && github.repository == 'apache/incubator-graphar' }}
runs-on: ubuntu-latest
env:
GAR_TEST_DATA: ${{ github.workspace }}/graphar-testing/
Expand All @@ -49,52 +49,52 @@ jobs:
sudo apt-get update -y
sudo apt-get install -y libboost-graph-dev ccache libcurl4-openssl-dev ninja-build

# install CMake 3.28+
wget -O- https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
sudo apt-get update -y
sudo apt-get install -y cmake

# install Catch2 v3
git clone --branch v3.6.0 https://github.com/catchorg/Catch2.git --depth 1
pushd Catch2
cmake -Bbuild -H. -DBUILD_TESTING=OFF
sudo cmake --build build/ --target install
popd
cmake -B Catch2/build -S Catch2 \
-DBUILD_TESTING=OFF
sudo cmake --build Catch2/build \
--target install

git clone https://github.com/apache/incubator-graphar-testing.git $GAR_TEST_DATA --depth 1

- name: CMake-debug
run: |
mkdir build-debug
pushd build-debug
cmake ../cpp -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON -DBUILD_ARROW_FROM_SOURCE=ON
popd
cmake -B build-debug -S cpp \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_TESTS=ON \
-DBUILD_EXAMPLES=ON \
-DBUILD_ARROW_FROM_SOURCE=ON

- name: Build GraphAr-debug
run: |
pushd build-debug
ninja
ninja graphar-ccache-stats
popd
ninja -C build-debug
ninja -C build-debug graphar-ccache-stats

- name: Test-debug
run: |
pushd build-debug
ctest --output-on-failure
popd
run: ctest --output-on-failure -C build-debug


- name: CMake-release
run: |
mkdir build-release
pushd build-release
cmake ../cpp -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON -DBUILD_ARROW_FROM_SOURCE=ON
popd
cmake -B build-release -S cpp \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DBUILD_TESTS=ON \
-DBUILD_EXAMPLES=ON \
-DBUILD_ARROW_FROM_SOURCE=ON

- name: Build GraphAr-release
run: |
pushd build-release
ninja
ninja graphar-ccache-stats
popd
ninja -C build-release
ninja -C build-release graphar-ccache-stats

- name: Test-release
run: |
pushd build-release
ctest --output-on-failure
popd
run: ctest --output-on-failure -C build-release
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
# TODO use ubuntu-latest
name: Ubuntu 22.04 C++
runs-on: ubuntu-22.04
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
if: false
env:
GAR_TEST_DATA: ${{ github.workspace }}/graphar-testing/
steps:
Expand Down Expand Up @@ -186,7 +186,7 @@ jobs:
macos:
name: macos latest C++
runs-on: macos-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
if: false
env:
GAR_TEST_DATA: ${{ github.workspace }}/graphar-testing/
strategy:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ concurrency:
jobs:
build-website:
runs-on: ubuntu-slim
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
if: false
steps:
- uses: actions/checkout@v4
with:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/java-info.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ concurrency:
jobs:
test:
runs-on: ubuntu-latest
if: false
env:
GAR_TEST_DATA: ${{ github.workspace }}/graphar-testing/
steps:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ concurrency:
jobs:
test:
runs-on: ubuntu-22.04
if: false
env:
GAR_TEST_DATA: ${{ github.workspace }}/graphar-testing/
steps:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/license.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ jobs:
license-check:
name: License Check
runs-on: ubuntu-slim
if: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/pr-title.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ jobs:
validate-title:
name: Validate pull request title
runs-on: ubuntu-slim
if: false
steps:
- uses: amannn/action-semantic-pull-request@v6
env:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ jobs:
pre-commit:
name: Pre-commit Checks
runs-on: ubuntu-slim
if: false

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ env:

jobs:
build:
if: github.repository == 'apache/incubator-graphar'
if: false
runs-on: ubuntu-latest
permissions:
contents: read
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/pyspark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ concurrency:
jobs:
test:
runs-on: ubuntu-latest
if: false
steps:
- uses: actions/checkout@v4
with:
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/python-wheel-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ jobs:
build_sdist:
name: Build source distribution
runs-on: ubuntu-22.04
if: false
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -86,6 +87,7 @@ jobs:
name: Build wheels on ${{ matrix.runner }}
runs-on: ${{ matrix.runner }}
needs: build_sdist
if: false
strategy:
matrix:
include:
Expand Down Expand Up @@ -259,7 +261,7 @@ jobs:
name: Publish to TestPyPI (auto)
needs: [build_wheels, build_sdist]
runs-on: ubuntu-22.04
if: github.event_name == 'push'
if: false
permissions:
contents: read
id-token: write
Expand All @@ -283,7 +285,7 @@ jobs:
name: Publish (manual)
needs: [build_wheels, build_sdist]
runs-on: ubuntu-22.04
if: github.event_name == 'workflow_dispatch' && inputs.publish_pypi
if: false
permissions:
contents: read
id-token: write
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ jobs:
ubuntu:
name: Ubuntu 22.04 Python
runs-on: ubuntu-latest
if: false
env:
GAR_TEST_DATA: ${{ github.workspace }}/graphar-testing/

Expand Down Expand Up @@ -111,6 +112,7 @@ jobs:
macos:
name: macos latest Python
runs-on: macos-latest
if: false
env:
GAR_TEST_DATA: ${{ github.workspace }}/graphar-testing/

Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
.factorypath

compile_commands.json

build-debug
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
Expand Down
38 changes: 25 additions & 13 deletions cpp/cmake/apache-arrow.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,23 @@ function(build_arrow)
CACHE INTERNAL "arrow version")
endif()

if(ARROW_VERSION_TO_BUILD GREATER_EQUAL "12.0.0")
set(GAR_ARROW_ACERO_STATIC_LIB_FILENAME
"${CMAKE_STATIC_LIBRARY_PREFIX}arrow_acero${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(GAR_ARROW_ACERO_STATIC_LIB
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_ARROW_ACERO_STATIC_LIB_FILENAME}"
CACHE INTERNAL "acero lib")
list(APPEND GAR_ARROW_BUILD_BYPRODUCTS "${GAR_ARROW_ACERO_STATIC_LIB}")

# Set up acero library target here to ensure it's in the same scope
set(GAR_ARROW_ACERO_LIBRARY_TARGET gar_acero_static)
add_library(${GAR_ARROW_ACERO_LIBRARY_TARGET} STATIC IMPORTED)
set_target_properties(${GAR_ARROW_ACERO_LIBRARY_TARGET}
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
${GAR_ARROW_INCLUDE_DIR}
IMPORTED_LOCATION ${GAR_ARROW_ACERO_STATIC_LIB})
endif()

if(DEFINED ENV{GAR_ARROW_SOURCE_URL})
set(GAR_ARROW_SOURCE_URL "$ENV{GAR_ARROW_SOURCE_URL}")
else()
Expand Down Expand Up @@ -172,24 +189,19 @@ function(build_arrow)
IMPORTED_LOCATION ${GAR_DATASET_STATIC_LIB})
set_target_properties(${GAR_ARROW_BUNDLED_DEPS_TARGET}
PROPERTIES IMPORTED_LOCATION ${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB})
if(ARROW_VERSION_TO_BUILD GREATER_EQUAL "12.0.0")
set(GAR_ARROW_ACERO_STATIC_LIB_FILENAME
"${CMAKE_STATIC_LIBRARY_PREFIX}arrow_acero${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(GAR_ARROW_ACERO_STATIC_LIB
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_ARROW_ACERO_STATIC_LIB_FILENAME}"
CACHE INTERNAL "acero lib")
set(GAR_ARROW_ACERO_LIBRARY_TARGET gar_acero_static)
add_library(${GAR_ARROW_ACERO_LIBRARY_TARGET} STATIC IMPORTED)
set_target_properties(${GAR_ARROW_ACERO_LIBRARY_TARGET}
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
${GAR_ARROW_INCLUDE_DIR}
IMPORTED_LOCATION ${GAR_ARROW_ACERO_STATIC_LIB})
endif()

set(GAR_ARROW_COMPUTE_LIBRARY_TARGET gar_arrow_compute_static)
add_library(${GAR_ARROW_COMPUTE_LIBRARY_TARGET} STATIC IMPORTED)
set_target_properties(${GAR_ARROW_COMPUTE_LIBRARY_TARGET}
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${GAR_ARROW_INCLUDE_DIR}
IMPORTED_LOCATION ${GAR_ARROW_COMPUTE_STATIC_LIB})

add_dependencies(${GAR_ARROW_LIBRARY_TARGET} arrow_ep)
add_dependencies(${GAR_PARQUET_LIBRARY_TARGET} arrow_ep)
add_dependencies(${GAR_ARROW_DATASET_LIBRARY_TARGET} arrow_ep)
add_dependencies(${GAR_ARROW_BUNDLED_DEPS_TARGET} arrow_ep)
if(ARROW_VERSION_TO_BUILD GREATER_EQUAL "12.0.0")
add_dependencies(${GAR_ARROW_ACERO_LIBRARY_TARGET} arrow_ep)
endif()
add_dependencies(${GAR_ARROW_COMPUTE_LIBRARY_TARGET} arrow_ep)
endfunction()
Loading