[CI] Build a Python wheel for aarch64 platform (#6253)

This commit is contained in:
Philip Hyunsu Cho
2020-10-18 22:35:19 -07:00
committed by GitHub
parent 5037abeb86
commit 7f6ed5780c
7 changed files with 150 additions and 36 deletions

View File

@@ -0,0 +1,37 @@
FROM quay.io/pypa/manylinux2014_aarch64
SHELL ["/bin/bash", "-c"] # Use Bash as shell
# Install all basic requirements
RUN \
yum update -y && \
yum install -y tar unzip wget xz git centos-release-scl-rh yum-utils && \
yum-config-manager --enable centos-sclo-rh-testing && \
yum update -y && \
yum install -y devtoolset-7 && \
# Python
wget --no-verbose -O conda.sh https://github.com/conda-forge/miniforge/releases/download/4.8.2-1/Miniforge3-4.8.2-1-Linux-aarch64.sh && \
bash conda.sh -b -p /opt/miniforge-python
ENV PATH=/opt/miniforge-python/bin:$PATH
ENV CC=/opt/rh/devtoolset-7/root/usr/bin/gcc
ENV CXX=/opt/rh/devtoolset-7/root/usr/bin/c++
ENV CPP=/opt/rh/devtoolset-7/root/usr/bin/cpp
ENV GOSU_VERSION 1.10
# Create new Conda environment
COPY conda_env/aarch64_test.yml /scripts/
RUN conda env create -n aarch64_test --file=/scripts/aarch64_test.yml
# Install lightweight sudo (not bound to TTY)
RUN set -ex; \
wget --no-verbose -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-arm64" && \
chmod +x /usr/local/bin/gosu && \
gosu nobody true
# Default entry-point to use if running locally
# It will preserve attributes of created files
COPY entrypoint.sh /scripts/
WORKDIR /workspace
ENTRYPOINT ["/scripts/entrypoint.sh"]

View File

@@ -0,0 +1,29 @@
name: aarch64_test
channels:
- conda-forge
dependencies:
- python=3.7
- pip
- wheel
- pytest
- pytest-cov
- numpy
- scipy
- scikit-learn
- pandas
- matplotlib
- dask
- distributed
- hypothesis
- graphviz
- python-graphviz
- codecov
- cmake
- ninja
- boto3
- jsonschema
- numba
- llvmlite
- pip:
- shap
- awscli

View File

@@ -14,6 +14,7 @@ dependencies:
- pandas
- matplotlib
- dask
- distributed
- python-graphviz
- hypothesis
- astroid
@@ -23,11 +24,14 @@ dependencies:
- mock
- breathe
- pytest
- pytest-cov
- python-kubernetes
- urllib3
- jsonschema
- boto3
- awscli
- numba
- llvmlite
- pip:
- shap
- guzzle_sphinx_theme

View File

@@ -0,0 +1,35 @@
name: cpu_test
channels:
- conda-forge
dependencies:
- python=3.7
- pip
- wheel
- pyyaml
- cpplint
- pylint
- numpy
- scipy
- scikit-learn
- pandas
- matplotlib
- dask
- distributed
- python-graphviz
- hypothesis
- astroid
- sphinx
- sh
- recommonmark
- mock
- breathe
- pytest
- pytest-cov
- python-kubernetes
- urllib3
- jsonschema
- boto3
- awscli
- pip:
- guzzle_sphinx_theme
- datatable