| # 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: |
| name: "Build wheel for manylinux {{ manylinux_version }}" |
| {% if arch == "amd64" %} |
| runs-on: ubuntu-latest |
| {% else %} |
| runs-on: ["self-hosted", "Linux", "arm64"] |
| {% endif %} |
| env: |
| # archery uses these environment variables |
| {% if arch == "amd64" %} |
| ARCH: amd64 |
| {% else %} |
| ARCH: arm64v8 |
| {% endif %} |
| PYTHON: "{{ python_version }}" |
| |
| steps: |
| {{ macros.github_checkout_arrow()|indent }} |
| {{ macros.github_install_archery()|indent }} |
| {{ macros.github_login_dockerhub()|indent }} |
| |
| - name: Build wheel |
| shell: bash |
| run: archery docker run -e SETUPTOOLS_SCM_PRETEND_VERSION={{ arrow.no_rc_version }} python-wheel-manylinux-{{ manylinux_version }} |
| |
| - uses: actions/upload-artifact@v3 |
| with: |
| name: wheel |
| path: arrow/python/repaired_wheels/*.whl |
| |
| # TODO(kszucs): auditwheel show |
| - name: Test wheel |
| shell: bash |
| run: | |
| archery docker run python-wheel-manylinux-test-imports |
| archery docker run python-wheel-manylinux-test-unittests |
| |
| - name: Test wheel on AlmaLinux 8 |
| shell: bash |
| if: | |
| '{{ python_version }}' == '3.8' |
| env: |
| ALMALINUX: "8" |
| run: | |
| archery docker run \ |
| -e TEST_DEFAULT=0 \ |
| -e TEST_PYARROW_VERSION={{ arrow.no_rc_version }} \ |
| -e TEST_PYTHON_VERSIONS={{ python_version }} \ |
| -e TEST_WHEEL_PLATFORM_TAGS={{ wheel_platform_tag }} \ |
| -e TEST_WHEELS=1 \ |
| almalinux-verify-rc |
| |
| - name: Test wheel on Ubuntu 20.04 |
| shell: bash |
| if: | |
| '{{ python_version }}' == '3.8' |
| env: |
| UBUNTU: "20.04" |
| run: | |
| archery docker run \ |
| -e TEST_DEFAULT=0 \ |
| -e TEST_PYARROW_VERSION={{ arrow.no_rc_version }} \ |
| -e TEST_PYTHON_VERSIONS={{ python_version }} \ |
| -e TEST_WHEEL_PLATFORM_TAGS={{ wheel_platform_tag }} \ |
| -e TEST_WHEELS=1 \ |
| ubuntu-verify-rc |
| |
| - name: Test wheel on Ubuntu 22.04 |
| shell: bash |
| if: | |
| '{{ python_version }}' == '3.10' |
| env: |
| UBUNTU: "22.04" |
| run: | |
| archery docker run \ |
| -e TEST_DEFAULT=0 \ |
| -e TEST_PYARROW_VERSION={{ arrow.no_rc_version }} \ |
| -e TEST_PYTHON_VERSIONS={{ python_version }} \ |
| -e TEST_WHEEL_PLATFORM_TAGS={{ wheel_platform_tag }} \ |
| -e TEST_WHEELS=1 \ |
| ubuntu-verify-rc |
| |
| {{ macros.github_upload_releases("arrow/python/repaired_wheels/*.whl")|indent }} |
| {{ macros.github_upload_gemfury("arrow/python/repaired_wheels/*.whl")|indent }} |
| |
| {% if arrow.is_default_branch() %} |
| - name: Push Docker Image |
| shell: bash |
| run: | |
| archery docker push python-wheel-manylinux-{{ manylinux_version }} |
| archery docker push python-wheel-manylinux-test-unittests |
| {% endif %} |