# 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. {% import 'macros.jinja' as macros with context %} {{ macros.github_header() }} jobs: build-cpp-ubuntu: name: Build C++ Libs Ubuntu runs-on: ubuntu-18.04 steps: {{ macros.github_checkout_arrow()|indent }} {{ macros.github_install_archery()|indent }} - name: Build C++ Libs run: archery docker run java-jni-manylinux-2014 - name: Compress into single artifact 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 {% if arrow.branch == 'master' %} {{ macros.github_login_dockerhub()|indent }} - name: Push Docker Image shell: bash run: archery docker push java-jni-manylinux-2014 {% endif %} build-cpp-macos: name: Build C++ Libs MacOS runs-on: macos-latest env: MACOSX_DEPLOYMENT_TARGET: "10.11" steps: {{ macros.github_checkout_arrow()|indent }} {{ macros.github_install_archery()|indent }} - name: Install Dependencies run: brew bundle --file=arrow/cpp/Brewfile - name: Build C Data Interface lib run: | set -e arrow/ci/scripts/java_cdata_build.sh \ $GITHUB_WORKSPACE/arrow \ $GITHUB_WORKSPACE/arrow/java-native-build \ $GITHUB_WORKSPACE/arrow/java-dist - name: Build C++ Libs run: | set -e 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 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-latest needs: [build-cpp-macos, build-cpp-ubuntu] steps: {{ macros.github_checkout_arrow()|indent }} - 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-macos.tar.gz tar -xvzf arrow-shared-libs-linux.tar.gz - name: Test that Shared Libraries Exist run: | test -f arrow/java-dist/libarrow_cdata_jni.dylib test -f arrow/java-dist/libarrow_dataset_jni.dylib test -f arrow/java-dist/libgandiva_jni.dylib test -f arrow/java-dist/libarrow_orc_jni.dylib test -f arrow/java-dist/libarrow_cdata_jni.so test -f arrow/java-dist/libarrow_dataset_jni.so test -f arrow/java-dist/libarrow_orc_jni.so test -f arrow/java-dist/libgandiva_jni.so - name: Build Bundled Jar run: | set -e pushd arrow/java mvn versions:set -DnewVersion={{ arrow.no_rc_version }} popd arrow/ci/scripts/java_full_build.sh \ $GITHUB_WORKSPACE/arrow \ $GITHUB_WORKSPACE/arrow/java-dist {{ macros.github_upload_releases(["arrow/java-dist/*.jar", "arrow/java-dist/*.pom"])|indent }}