Skip to content
Snippets Groups Projects
test.yml 6.89 KiB
name: Test

on:
  - push
  - pull_request

jobs:

  test_linux:
    name: Test (Linux)
    runs-on: ubuntu-latest
    env:
      OS: Linux
    strategy:
      matrix:
        include:
        - python-version: 3.5
          python-release: v3.5
          python-impl: CPython
        - python-version: 3.6
          python-release: v3.6
          python-impl: CPython
        - python-version: 3.7
          python-release: v3.7
          python-impl: CPython
        - python-version: 3.8
          python-release: v3.8
          python-impl: CPython
        - python-version: 3.9
          python-release: v3.9
          python-impl: CPython
        - python-version: pypy-3.6
          python-release: v3.6
          python-impl: PyPy
        - python-version: pypy-3.7
          python-release: v3.7
          python-impl: PyPy
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
      with:
        submodules: true
    - name: Cache Python requirements
      uses: actions/cache@v2
      with:
        path: ~/.cache/pip
        key: ${{ runner.os }}-pip-${{ matrix.python-version }}
        restore-keys: ${{ runner.os }}-pip-${{ matrix.python-version }}
    - name: Cache built C files
      uses: actions/cache@v2
      with:
        path: build
        key: ${{ runner.os }}-build-${{ matrix.python-version }}
        restore-keys: ${{ runner.os }}-build-${{ matrix.python-version }}
    - name: Setup Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}
    - name: Update pip
      run: python -m pip install -U pip wheel setuptools
    - name: Install Python requirements
      run: python -m pip install -r .github/workflows/requirements.txt
    - name: "Install Boost::math"
      run: sudo apt-get install -y libboost-math-dev
    - name: Build C extension
      run: python setup.py build_ext --inplace --debug
    - name: Install numpy
      run: python -m pip install numpy
    - name: Install tests requirements
      run: python -m pip install -r pyfastani/tests/requirements.txt