Skip to content

Commit

Permalink
No commit message
Browse files Browse the repository at this point in the history
  • Loading branch information
unknown committed May 4, 2023
1 parent ec27aa2 commit aad4981
Show file tree
Hide file tree
Showing 4 changed files with 223 additions and 61 deletions.
16 changes: 16 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

version: 2

jobs:
build:
machine: true

workflows:
version: 2
build:
jobs:
- build:
filters:
branches:
only:
- /.*-circle-.*/
198 changes: 198 additions & 0 deletions .github/workflows/crossbow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
# 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.


# NOTE: must set "Crossbow" as name to have the badge links working in the
# github comment reports!
name: Crossbow
on:
push:
branches:
- "*-github-*"


jobs:

build-cpp-ubuntu:
name: Build C++ Libs Ubuntu
runs-on: ubuntu-latest
steps:
- name: Checkout Arrow
uses: actions/checkout@v3
with:
fetch-depth: 1
path: arrow
repository: lriggs/arrow
ref: 40605691915614fd19f44b5aebda8c2f6b8635b1
submodules: recursive

- name: Set up Python
uses: actions/setup-python@v4
with:
cache: 'pip'
python-version: 3.8
- name: Install Archery
shell: bash
run: pip install -e arrow/dev/archery[all]

- name: Build C++ Libs
run: archery docker run java-jni-manylinux-2014
- name: Compress into single artifact to keep directory structure
run: tar -cvzf arrow-shared-libs-linux.tar.gz arrow/java-dist/
- name: Upload Artifacts
uses: actions/upload-artifact@v2
with:
name: ubuntu-shared-lib
path: arrow-shared-libs-linux.tar.gz

build-cpp-macos:
name: Build C++ Libs MacOS
runs-on: macos-latest
env:
MACOSX_DEPLOYMENT_TARGET: "10.13"
steps:
- name: Checkout Arrow
uses: actions/checkout@v3
with:
fetch-depth: 1
path: arrow
repository: lriggs/arrow
ref: 40605691915614fd19f44b5aebda8c2f6b8635b1
submodules: recursive

- name: Set up Python
uses: actions/setup-python@v4
with:
cache: 'pip'
python-version: 3.8
- name: Install Archery
shell: bash
run: pip install -e arrow/dev/archery[all]

- name: Install Dependencies
run: |
# We want to use llvm@14 to avoid shared z3
# dependency. llvm@14 doesn't depend on z3 and llvm depends
# on z3. And Homebrew's z3 provides only shared library. It
# doesn't provides static z3 because z3's CMake doesn't accept
# building both shared and static libraries at once
# See also: Z3_BUILD_LIBZ3_SHARED in
# https://github.com/Z3Prover/z3/blob/master/README-CMake.md
#
# If llvm is installed, Apache Arrow C++ uses llvm rather than
# llvm@14 because llvm is newer than llvm@14.
brew uninstall llvm || :
brew bundle --file=arrow/cpp/Brewfile
# We want to link aws-sdk-cpp statically but Homebrew's
# aws-sdk-cpp provides only shared library. If we have
# Homebrew's aws-sdk-cpp, our build mix Homebrew's
# aws-sdk-cpp and bundled aws-sdk-cpp. We uninstall Homebrew's
# aws-sdk-cpp to ensure using only bundled aws-sdk-cpp.
brew uninstall aws-sdk-cpp
# We want to use bundled RE2 for static linking. If
# Homebrew's RE2 is installed, its header file may be used.
# We uninstall Homebrew's RE2 to ensure using bundled RE2.
brew uninstall grpc || : # gRPC depends on RE2
brew uninstall re2 || :
- name: Build C++ Libs
run: |
set -e
# make brew Java available to CMake
if [ "x68_64" = "aarch_64" ]; then
export JAVA_HOME=$(brew --prefix openjdk@11)/libexec/openjdk.jdk/Contents/Home
fi
export PATH=/usr/local/opt/llvm@14//bin:$PATH
arrow/ci/scripts/java_jni_macos_build.sh \
$GITHUB_WORKSPACE/arrow \
$GITHUB_WORKSPACE/arrow/cpp-build \
$GITHUB_WORKSPACE/arrow/java-dist
- name: Compress into single artifact to keep directory structure
run: tar -cvzf arrow-shared-libs-macos.tar.gz arrow/java-dist/
- name: Upload Artifacts
uses: actions/upload-artifact@v2
with:
name: macos-shared-lib
path: arrow-shared-libs-macos.tar.gz

package-jars:
name: Build Jar Files
runs-on: macos-11
needs: [build-cpp-macos, build-cpp-ubuntu]
steps:
- name: Checkout Arrow
uses: actions/checkout@v3
with:
fetch-depth: 0
path: arrow
repository: lriggs/arrow
ref: 40605691915614fd19f44b5aebda8c2f6b8635b1
submodules: recursive

- name: Download Linux C++ Libraries
uses: actions/download-artifact@v2
with:
name: ubuntu-shared-lib
- name: Download MacOS C++ Library
uses: actions/download-artifact@v2
with:
name: macos-shared-lib
- name: Descompress artifacts
run: |
tar -xvzf arrow-shared-libs-linux.tar.gz
tar -xvzf arrow-shared-libs-macos.tar.gz
- name: Test that Shared Libraries Exist
run: |
set -x
test -f arrow/java-dist/x86_64/libarrow_cdata_jni.dylib
test -f arrow/java-dist/x86_64/libarrow_dataset_jni.dylib
test -f arrow/java-dist/x86_64/libgandiva_jni.dylib
test -f arrow/java-dist/x86_64/libarrow_orc_jni.dylib
test -f arrow/java-dist/x86_64/libarrow_cdata_jni.so
test -f arrow/java-dist/x86_64/libarrow_dataset_jni.so
test -f arrow/java-dist/x86_64/libarrow_orc_jni.so
test -f arrow/java-dist/x86_64/libgandiva_jni.so
- name: Build Bundled Jar
run: |
set -e
pushd arrow/java
mvn versions:set -DnewVersion=9.0.0.dev10
popd
arrow/ci/scripts/java_full_build.sh \
$GITHUB_WORKSPACE/arrow \
$GITHUB_WORKSPACE/arrow/java-dist
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Setup Crossbow
shell: bash
run: pip install -e arrow/dev/archery[crossbow-upload]
- name: Upload artifacts
shell: bash
run: |
archery crossbow \
--queue-path $(pwd) \
--queue-remote https://github.com/lriggs/arrow-build \
upload-artifacts \
--sha nightly-28-github-java-jars \
--tag nightly-28-github-java-jars \
"arrow/java-dist/*.jar" \
"arrow/java-dist/*.pom" \
"arrow/java-dist/*.zip"
env:
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
61 changes: 0 additions & 61 deletions .github/workflows/generate_jar.yaml

This file was deleted.

9 changes: 9 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

branches:
only:
- master
- /.*-travis-.*/

os: linux
dist: trusty
language: generic

0 comments on commit aad4981

Please sign in to comment.