| # 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() }} |
| |
| env: |
| ARROW_S3: {{ arrow_s3 }} |
| CC: "clang" |
| CXX: "clang++" |
| MACOSX_DEPLOYMENT_TARGET: "{{ macos_deployment_target }}" |
| PYARROW_BUILD_VERBOSE: 1 |
| PYARROW_VERSION: "{{ arrow.no_rc_version }}" |
| PYTHON_VERSION: "{{ python_version }}" |
| PYTHON: "/Library/Frameworks/Python.framework/Versions/{{ python_version }}/bin/python{{ python_version }}" |
| VCPKG_DEFAULT_TRIPLET: amd64-osx-static-release |
| VCPKG_FEATURE_FLAGS: "manifests" |
| VCPKG_OVERLAY_TRIPLETS: {{ "${{ github.workspace }}/arrow/ci/vcpkg" }} |
| VCPKG_ROOT: {{ "${{ github.workspace }}/vcpkg" }} |
| |
| jobs: |
| build: |
| name: Build wheel for OS X |
| runs-on: macos-10.15 |
| env: |
| VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite' |
| steps: |
| {{ macros.github_checkout_arrow()|indent }} |
| |
| - name: Install System Dependencies |
| run: brew install bash bison coreutils ninja |
| |
| - name: Install Specific CMake version |
| uses: lukka/get-cmake@v3.21.2 |
| |
| - name: Retrieve VCPKG version from arrow/.env |
| shell: bash |
| run: | |
| vcpkg_version=$(cat "arrow/.env" | grep "VCPKG" | cut -d "=" -f2 | tr -d '"') |
| echo "VCPKG_VERSION=$vcpkg_version" >> $GITHUB_ENV |
| |
| - name: Install Vcpkg |
| shell: bash |
| env: |
| MACOSX_DEPLOYMENT_TARGET: "10.15" |
| run: arrow/ci/scripts/install_vcpkg.sh $VCPKG_ROOT $VCPKG_VERSION |
| |
| - name: Add Vcpkg to PATH |
| shell: bash |
| run: echo ${VCPKG_ROOT} >> $GITHUB_PATH |
| |
| - name: Setup NuGet Credentials |
| shell: bash |
| env: |
| GITHUB_TOKEN: {{ '${{ secrets.GITHUB_TOKEN }}' }} |
| run: | |
| mono `vcpkg fetch nuget | tail -n 1` \ |
| sources add \ |
| -source "https://nuget.pkg.github.com/$GITHUB_REPOSITORY_OWNER/index.json" \ |
| -storepasswordincleartext \ |
| -name "GitHub" \ |
| -username "$GITHUB_REPOSITORY_OWNER" \ |
| -password "$GITHUB_TOKEN" \ |
| |
| mono `vcpkg fetch nuget | tail -n 1` \ |
| setapikey "$GITHUB_TOKEN" \ |
| -source "https://nuget.pkg.github.com/$GITHUB_REPOSITORY_OWNER/index.json" |
| |
| - name: Install Packages |
| run: | |
| if [ "${ARROW_S3}" == "ON" ]; then |
| x_feature_s3="--x-feature=s3" |
| else |
| x_feature_s3= |
| fi |
| vcpkg install \ |
| --clean-after-build \ |
| --x-install-root=${VCPKG_ROOT}/installed \ |
| --x-manifest-root=arrow/ci/vcpkg \ |
| --x-feature=flight \ |
| --x-feature=gcs \ |
| --x-feature=json \ |
| --x-feature=parquet \ |
| ${x_feature_s3} |
| |
| - name: Install Python {{ python_version }} |
| shell: bash |
| run: sudo arrow/ci/scripts/install_python.sh macos {{ python_version }} |
| |
| - name: Build Wheel |
| shell: bash |
| run: | |
| $PYTHON -m venv build-env |
| source build-env/bin/activate |
| pip install --upgrade pip wheel |
| PYTHON=python arrow/ci/scripts/python_wheel_macos_build.sh x86_64 $(pwd)/arrow $(pwd)/build |
| |
| - name: Test Wheel |
| shell: bash |
| run: | |
| $PYTHON -m venv test-env |
| source test-env/bin/activate |
| pip install --upgrade pip wheel |
| pip install -r arrow/python/requirements-wheel-test.txt |
| PYTHON=python arrow/ci/scripts/install_gcs_testbench.sh default |
| arrow/ci/scripts/python_wheel_unix_test.sh $(pwd)/arrow |
| |
| {{ macros.github_upload_releases("arrow/python/repaired_wheels/*.whl")|indent }} |
| {{ macros.github_upload_gemfury("arrow/python/repaired_wheels/*.whl")|indent }} |