Pythran #278
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, pypy310] | |
- [pypy-3.11-nightly, pypy311] | |
steps: | |
- uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python_version[0] }} | |
- uses: actions/[email protected] | |
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>=2.2.0" -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/[email protected] | |
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/[email protected] | |
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 |