Skip to content

Pythran

Pythran #249

Workflow file for this run

name: Pythran
# Controls when the action will run.
on:
workflow_dispatch:
pull_request:
branches: [ main ]
paths:
- '.github/workflows/pythran.yml'
schedule:
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
# │ │ │ │ │
- cron: "0 2 * * 0"
jobs:
pythran-linux:
name: Test ubuntu ${{ matrix.python_version[1] }} ${{ matrix.cpp-version }}
runs-on: ${{ matrix.os }}
timeout-minutes: 160
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
cpp-version: [g++-8, clang-7]
python_version:
- [pypy-3.10-nightly, pypy10]
- [pypy-3.9-nightly, pypy39]
steps:
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python_version[0] }}
- uses: actions/checkout@v3
with:
fetch-depth: 1
repository: serge-sans-paille/pythran
path: pythran
- name: Install dependencies
run: |
cd pythran
python -m pip install --upgrade pip
python -m pip install numpy -Csetup-args="-Dallow-noblas=true"
pip install -r requirements.txt
pip install ipython nbval pytest-xdist wheel
sudo apt install libopenblas-dev ${{ matrix.cpp-version }}
- name: Setup
run: |
cd pythran
python setup.py install
printf '[commpiler]\nblas=openblas\n' > ~/.config/.pythranrc
printf 'cflags=-std=c++11 -Wall -Werror -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-cpp -Wno-deprecated-declarations -Wno-absolute-value\n' >> ~/.config/.pythranrc
- name: Testing sequential
run: |
cd pythran
export CC=`echo ${{ matrix.cpp-version }} | sed -e 's/g++/gcc/'`
export CXX=`echo ${{ matrix.cpp-version }} | sed -e 's/clang/clang++/'`
pytest pythran/tests/test_*.py -v --numprocesses=auto $PYTEST_ARGS
pythran-windows:
runs-on: windows-latest
name: windows pypy3.10 clang
strategy:
matrix:
architectures: [x64]
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: pypy-3.10-nightly
architecture: ${{ matrix.architecture }}
- name: Install clang-cl
run: |
choco install llvm --yes
@("C:/Program Files/LLVM/bin") + (Get-Content $env:GITHUB_PATH) | Set-Content $env:GITHUB_PATH
- uses: actions/checkout@v3
with:
fetch-depth: 1
repository: serge-sans-paille/pythran
path: pythran
- name: Install dependencies
run: |
cd pythran
python -m pip install --upgrade pip
python -m pip install cython
python -m pip install numpy --no-build-isolation -Csetup-args="-Dallow-noblase=true"
pip install -r requirements.txt -Csetup-args="--vsenv" -Csetup-args="-Dblas=none" -Csetup-args="-Dlapack=none" -Csetup-args="-Dallow-noblas=true"
pip install wheel pythran-openblas pytest pytest-timeout
# pip install scipy # no wheel availabe, compilation takes too long
- name: Setup
run: |
cd pythran
python setup.py install
- name: Testing sequential
run: |
cd pythran
pytest pythran/tests/test_ndarray.py -v --timeout 600
# pytest pythran/tests/test_scipy.py -v --timeout 600
pytest pythran/tests/test_base.py -v --timeout 600
pytest pythran/tests/test_advanced.py -v --timeout 600