-
-
Notifications
You must be signed in to change notification settings - Fork 4
106 lines (99 loc) · 3.74 KB
/
pythran.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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