Pythran #251
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v5.0.0 | |
with: | |
python-version: ${{ matrix.python_version[0] }} | |
- uses: actions/checkout@v4.1.1 | |
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: | |
- name: Setup Python | |
uses: actions/setup-python@v5.0.0 | |
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@v4.1.1 | |
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 |