68 lines
2.3 KiB
YAML
68 lines
2.3 KiB
YAML
branches:
|
|
only:
|
|
- master
|
|
- maintenance/*
|
|
|
|
language: python
|
|
|
|
python:
|
|
# use versions available for job image
|
|
# aarch64_u16pytall:v6.7.4
|
|
# (what we currently have access to by default)
|
|
# this is a bit restrictive in terms
|
|
# of version availability / control,
|
|
# but it is convenient
|
|
- 3.7
|
|
|
|
runtime:
|
|
# use the free open source pool of nodes
|
|
# only for ARM platform
|
|
nodePool: shippable_shared_aarch64
|
|
|
|
build:
|
|
ci:
|
|
# install dependencies and newer toolchain for gfortran5
|
|
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
|
- sudo apt-get update
|
|
- sudo apt-get install gcc gfortran libgfortran5
|
|
- target=$(python tools/openblas_support.py)
|
|
- ls -lR "${target}"
|
|
- sudo cp -r "${target}"/lib/* /usr/lib
|
|
- sudo cp "${target}"/include/* /usr/include
|
|
- python -m pip install --upgrade pip
|
|
|
|
# we will pay the ~13 minute cost of compiling Cython only when a new
|
|
# version is scraped in by pip; otherwise, use the cached
|
|
# wheel shippable places on Amazon S3 after we build it once
|
|
- python -m pip install -r test_requirements.txt --cache-dir=/root/.cache/pip/wheels/$SHIPPABLE_PYTHON_VERSION
|
|
# install pytest-xdist to leverage a second core
|
|
# for unit tests
|
|
- python -m pip install pytest-xdist
|
|
|
|
# build and test numpy
|
|
- export PATH=$PATH:$SHIPPABLE_REPO_DIR
|
|
# build first and adjust PATH so f2py is found in scripts dir
|
|
# use > 1 core for build sometimes slows down a fair bit,
|
|
# other times modestly speeds up, so avoid for now
|
|
- python -m pip install .
|
|
- extra_directories=($SHIPPABLE_REPO_DIR/build/*scripts*)
|
|
- extra_path=$(printf "%s:" "${extra_directories[@]}")
|
|
- export PATH="${extra_path}${PATH}"
|
|
# check OpenBLAS version
|
|
- python tools/openblas_support.py --check_version
|
|
# run the test suite
|
|
- python runtests.py -n --debug-info --show-build-log -- -rsx --junit-xml=$SHIPPABLE_REPO_DIR/shippable/testresults/tests.xml -n 2 --durations=10
|
|
|
|
cache: false
|
|
|
|
# disable email notification
|
|
# of CI job result
|
|
integrations:
|
|
notifications:
|
|
- integrationName: email
|
|
type: email
|
|
on_success: never
|
|
on_failure: never
|
|
on_cancel: never
|
|
on_pull_request: never
|