| # 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. |
| |
| arch: arm64-graviton2 |
| virt: vm |
| os: linux |
| dist: focal |
| group: edge |
| language: minimal |
| |
| addons: |
| apt: |
| packages: |
| - libgit2-dev |
| - python3-pip |
| |
| services: |
| - docker |
| |
| # don't build twice |
| if: tag IS blank |
| |
| env: |
| global: |
| - BUILD_REF={{ arrow.head }} |
| - TRAVIS_TAG={{ task.tag }} |
| # archery uses these environment variables |
| - ARCH=arm64v8 |
| - PYTHON={{ python_version }} |
| |
| before_script: |
| - git clone --no-checkout {{ arrow.remote }} arrow |
| - git -C arrow fetch -t {{ arrow.remote }} {{ arrow.branch }} |
| - git -C arrow checkout FETCH_HEAD |
| - git -C arrow submodule update --init --recursive |
| |
| script: |
| # Install Archery and Crossbow dependencies |
| - sudo -H pip3 install --upgrade pip |
| - sudo -H pip3 install docker-compose |
| - sudo -H pip3 install -e arrow/dev/archery[docker] |
| - sudo -H pip3 install -r arrow/dev/tasks/requirements-crossbow.txt pygit2==1.0 |
| |
| # Docker Login: |
| - echo "${DOCKERHUB_TOKEN}" | docker login --username "${DOCKERHUB_USER}" --password-stdin |
| |
| # Build and Test packages |
| |
| # output something every minutes to prevent travis from killing the build |
| - while sleep 1m; do echo "=====[ $SECONDS seconds still running ]====="; done & |
| - archery docker run -e SETUPTOOLS_SCM_PRETEND_VERSION={{ arrow.no_rc_version }} python-wheel-manylinux-{{ manylinux_version }} |
| - archery docker run python-wheel-manylinux-test-imports |
| - archery docker run python-wheel-manylinux-test-unittests |
| - kill %1 |
| |
| after_success: |
| # Upload wheel as github artifact |
| - | |
| python3 arrow/dev/tasks/crossbow.py \ |
| --queue-path . \ |
| --queue-remote {{ queue_remote_url }} \ |
| upload-artifacts \ |
| --pattern "arrow/python/repaired_wheels/*.whl" \ |
| --sha {{ task.branch }} \ |
| --tag {{ task.tag }} |
| |
| {% if arrow.branch == 'master' %} |
| # Push the docker image to dockerhub |
| - archery docker push python-wheel-manylinux-{{ manylinux_version }} |
| - archery docker push python-wheel-manylinux-test-unittests |
| # Upload as nightly wheel to gemfury |
| - | |
| WHEEL_PATH=$(echo arrow/python/repaired_wheels/*.whl) |
| curl \ |
| -F "package=@${WHEEL_PATH}" \ |
| "https://${CROSSBOW_GEMFURY_TOKEN}@push.fury.io/${CROSSBOW_GEMFURY_ORG}/" |
| {% endif %} |