-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARROW-4649: [C++/CI/R] Add nightly job that tests the homebrew formula
This doesn't just test `brew install apache-arrow --HEAD` as the ticket suggested--it brings the Homebrew formula under our source control and tests against that. This will enable us to know when we need to update the Homebrew formula due to changes in dependencies or cmake configuration. I've been testing out this approach on a different repository: https://travis-ci.org/nealrichardson/arrow-brew/builds/568531245 Closes #5360 from nealrichardson/homebrew-nightly and squashes the following commits: 4a50a37 <Neal Richardson> Shuffle again ea3f9b5 <Neal Richardson> Move autobrew script again and fix URL to match regular homebrew 851ac6e <Neal Richardson> Sort hunks 💪 1d6512b <Neal Richardson> Move homebrew formulae inside dev/tasks. Update autobrew package version in release script ff1489e <Neal Richardson> Use regular snapshot version for homebrew formula 79e9191 <Neal Richardson> Remove autoconf from homebrew formula because new jemalloc no longer requires it 8816279 <Neal Richardson> Fix autobrew audit check b25ac6d <Neal Richardson> Fix licensing/:rat: for ci/apache-arrow.rb 89dea4f <Neal Richardson> Parametrize homebrew task and also test 'autobrew' d61290a <Neal Richardson> Remove bottle shas a133385 <Neal Richardson> Fix test (hopefully?) 6d00fe4 <Neal Richardson> Fix regular expression 34af2a9 <Neal Richardson> Add missing test assertion 40fc370 <Neal Richardson> Attempt to set the homebrew formula arrow version in the release script ea4368e <Neal Richardson> Re-alphabetize the seds in 00-prepare.sh 262c241 <Neal Richardson> Rename homebrew task yml; add to LICENSE 163c67a <Neal Richardson> Add homebrew formula and crossbow nightly task Authored-by: Neal Richardson <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
- Loading branch information
1 parent
13916dc
commit b2785d3
Showing
9 changed files
with
213 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
class ApacheArrow < Formula | ||
desc "Columnar in-memory analytics layer designed to accelerate big data" | ||
homepage "https://arrow.apache.org/" | ||
url "https://www.apache.org/dyn/closer.cgi?path=arrow/arrow-0.15.0-SNAPSHOT/apache-arrow-0.15.0-SNAPSHOT.tar.gz" | ||
sha256 "9948ddb6d4798b51552d0dca3252dd6e3a7d0f9702714fc6f5a1b59397ce1d28" | ||
head "https://github.com/apache/arrow.git" | ||
|
||
depends_on "cmake" => :build | ||
depends_on "boost" | ||
depends_on "brotli" | ||
depends_on "double-conversion" | ||
depends_on "flatbuffers" | ||
depends_on "glog" | ||
depends_on "grpc" | ||
depends_on "lz4" | ||
depends_on "numpy" | ||
depends_on "openssl" | ||
depends_on "protobuf" | ||
depends_on "python" | ||
depends_on "rapidjson" | ||
depends_on "snappy" | ||
depends_on "thrift" | ||
depends_on "zstd" | ||
|
||
def install | ||
ENV.cxx11 | ||
args = %W[ | ||
-DARROW_FLIGHT=ON | ||
-DARROW_ORC=ON | ||
-DARROW_PARQUET=ON | ||
-DARROW_PLASMA=ON | ||
-DARROW_PROTOBUF_USE_SHARED=ON | ||
-DARROW_PYTHON=ON | ||
-DARROW_INSTALL_NAME_RPATH=OFF | ||
-DPYTHON_EXECUTABLE=#{Formula["python"].bin/"python3"} | ||
] | ||
|
||
mkdir "build" | ||
cd "build" do | ||
system "cmake", "../cpp", *std_cmake_args, *args | ||
system "make" | ||
system "make", "install" | ||
end | ||
end | ||
|
||
test do | ||
(testpath/"test.cpp").write <<~EOS | ||
#include "arrow/api.h" | ||
int main(void) { | ||
arrow::int64(); | ||
return 0; | ||
} | ||
EOS | ||
system ENV.cxx, "test.cpp", "-std=c++11", "-I#{include}", "-L#{lib}", "-larrow", "-o", "test" | ||
system "./test" | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. | ||
|
||
os: osx | ||
language: ruby | ||
cache: bundler | ||
|
||
# don't build twice | ||
if: tag IS blank | ||
|
||
env: | ||
global: | ||
- TRAVIS_TAG={{ task.tag }} | ||
- ARROW_FORMULA=./arrow/dev/tasks/homebrew-formulae/{{ formula }} | ||
|
||
before_script: | ||
- git clone --no-checkout {{ arrow.remote }} arrow | ||
- git -C arrow fetch -t {{ arrow.remote }} {{ arrow.branch }} | ||
- if [ $CROSSBOW_USE_COMMIT_ID == true ]; then git -C arrow checkout {{ arrow.head }}; else git -C arrow checkout FETCH_HEAD; fi | ||
- brew update | ||
- brew audit $ARROW_FORMULA | ||
script: | ||
- brew install -v --build-from-source --HEAD $ARROW_FORMULA | ||
- brew test $ARROW_FORMULA | ||
|
||
notifications: | ||
email: | ||
- {{ job.email }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters