Skip to content

Added the enum and the runtime dispatch for ARM64 #409

Added the enum and the runtime dispatch for ARM64

Added the enum and the runtime dispatch for ARM64 #409

Workflow file for this run

name: GitHub CI
on: [push, pull_request]
jobs:
build:
name: On ${{ matrix.os }} with (${{ matrix.compiler }}, python-${{ matrix.python-version }}, numpy-${{ matrix.numpy-version }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-18.04", "ubuntu-20.04", "macos-latest"]
compiler: [gcc-7, gcc-9, gcc-10, clang]
python-version: ["2.7", "3.5", "3.6", "3.7", "3.8"]
numpy-version: ["1.14", "1.18", "1.20"]
exclude:
# Only run with 'clang' on OSX
- os: "macos-latest"
compiler: gcc-7
- os: "macos-latest"
compiler: gcc-9
- os: "macos-latest"
compiler: gcc-10
# Don't use 'clang' on linux
- os: "ubuntu-18.04"
compiler: clang
- os: "ubuntu-20.04"
compiler: clang
# only gcc-10 on 20.04
- os: "ubuntu-20.04"
compiler: gcc-9
- os: "ubuntu-20.04"
compiler: gcc-7
# python3.8 only on 20.04
- os: "ubuntu-18.04"
python-version: "3.8"
- os: "macos-latest"
python-version: "3.8"
# numpy1.18 and 1.20 only on python3.8
# (which, in turn, is only on '20.04')
- python-version: "2.7"
numpy-version: "1.18"
- python-version: "3.5"
numpy-version: "1.18"
- python-version: "3.6"
numpy-version: "1.18"
- python-version: "3.7"
numpy-version: "1.18"
- python-version: "2.7"
numpy-version: "1.20"
- python-version: "3.5"
numpy-version: "1.20"
- python-version: "3.6"
numpy-version: "1.20"
- python-version: "3.7"
numpy-version: "1.20"
env:
CC: ${{ matrix.compiler }}
CORRFUNC_CI: true
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
auto-activate-base: false
miniconda-version: 'latest'
python-version: ${{ matrix.python-version }}
- name: Install binutils on linux
shell: bash -l {0}
if: matrix.os == 'ubuntu-18.04'
run: |
sudo apt-get update
sudo apt-get install binutils
- name: Install dependencies
shell: bash -l {0}
run: |
conda create -q --yes -n test python=${{ matrix.python-version }} numpy=${{ matrix.numpy-version }}
conda activate test
conda install -q --yes -c conda-forge gsl
- name: Display PATH, compiler, python
shell: bash -l {0}
run: |
conda activate test
echo "PATH = " $PATH
echo "COMPILER = " `which ${{ matrix.compiler }}`
echo "COMPILER VERSION = " `${{ matrix.compiler }} --version`
echo "PYTHON = " `which python`
echo "(PYTHON, NUMPY) version = " `python -c "import sys; import numpy as np; print(sys.version); print(np.__version__);"`
echo "Preprocessor defs:"
echo `${{ matrix.compiler }} -dM -E - -march=native`
- name: lscpu on Linux
if: matrix.os != 'macos-latest'
run: |
lscpu
- name: sysctl machdep.cpu on OSX
if: matrix.os == 'macos-latest'
run: |
sysctl machdep.cpu
# - name: Add linker flag to OSX + gcc
# shell: bash -l {0}
# if: matrix.os == 'osx-latest' && startswith(matrix.compiler, 'gcc')
# run: export CLINK = '-lgomp'
- name: compile
shell: bash -l {0}
run: make -r CC=${{ matrix.compiler }}
- name: install
shell: bash -l {0}
run: make install CC=${{ matrix.compiler }}
- name: compile and install python extensions
shell: bash -l {0}
run: |
echo "CC = " $CC
export CC=${{ matrix.compiler }}
python -m pip install -e .
- name: tests
shell: bash -l {0}
run: make tests CC=${{ matrix.compiler }}
- name: doctests
shell: bash -l {0}
if: matrix.os == 'ubuntu-20.04' && matrix.python-version == '3.8' && matrix.numpy-version == '1.14'
run: |
python -m pip install 'sphinx>=1.8'
make -C docs doctest
- name: Python tests
shell: bash -l {0}
run: |
python -m pip install pytest
python -m pytest -v