summaryrefslogtreecommitdiffstats
path: root/src/arrow/dev/tasks/python-wheels/github.osx.amd64.yml
blob: 8078abfd56f81071d2a25656c736ce7d3edf33d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# 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: x64-osx-static-release
  VCPKG_FEATURE_FLAGS: "-manifests"
  VCPKG_OVERLAY_TRIPLETS: {{ "${{ github.workspace }}/arrow/ci/vcpkg" }}
  VCPKG_ROOT: {{ "${{ github.workspace }}/vcpkg" }}
  VCPKG_VERSION: "{{ vcpkg_version }}"

jobs:
  build:
    name: Build wheel for OS X
    runs-on: macos-10.15
    steps:
      {{ macros.github_checkout_arrow()|indent }}

      - name: Install System Dependencies
        run: brew install bash bison coreutils ninja cmake

      - uses: actions/cache@v2
        id: vcpkg-cache
        with:
          path: vcpkg
          key: vcpkg-{{ macos_deployment_target }}-{{ vcpkg_version }}-{{ "${{ hashFiles('arrow/ci/vcpkg/*.patch', 'arrow/ci/vcpkg/*osx*.cmake') }}" }}

      - name: Install Vcpkg
        if: steps.vcpkg-cache.outputs.cache-hit != 'true'
        shell: bash
        env:
          MACOSX_DEPLOYMENT_TARGET: "10.15"
        run: arrow/ci/scripts/install_vcpkg.sh $VCPKG_VERSION $VCPKG_ROOT

      - name: Install Packages
        run: |
          $VCPKG_ROOT/vcpkg install \
            abseil \
            boost-filesystem \
            brotli \
            bzip2 \
            c-ares \
            curl \
            flatbuffers \
            gflags \
            glog \
            grpc \
            lz4 \
            openssl \
            orc \
            protobuf \
            rapidjson \
            re2 \
            snappy \
            thrift \
            utf8proc \
            zlib \
            zstd

      {% if arrow_s3 == "ON" %}
      - name: Install AWS SDK C++
        run: $VCPKG_ROOT/vcpkg install aws-sdk-cpp[config,cognito-identity,core,identity-management,s3,sts,transfer]
      {% endif %}

      - 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 virtualenv build-env
          source build-env/bin/activate
          pip install --upgrade pip wheel
          arrow/ci/scripts/python_wheel_macos_build.sh x86_64 $(pwd)/arrow $(pwd)/build

      - name: Test Wheel
        shell: bash
        run: |
          $PYTHON -m virtualenv test-env
          source test-env/bin/activate
          pip install --upgrade pip wheel
          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 }}