Skip to content

Commit 314a035

Browse files
committed
ci: enable GHA testing
Adds requirements file too.
1 parent 4ee282e commit 314a035

File tree

2 files changed

+84
-0
lines changed

2 files changed

+84
-0
lines changed

.github/workflows/ci.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: CI
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
push:
7+
branches:
8+
- master
9+
- stable
10+
- v*
11+
12+
jobs:
13+
standard:
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
os: [ubuntu, windows, macos]
18+
python:
19+
- 2.7
20+
- 3.5
21+
- 3.8
22+
- 3.9-dev
23+
- pypy2
24+
- pypy3
25+
26+
include:
27+
- os: ubuntu
28+
python: 3.6
29+
- os: macos
30+
python: 3.7
31+
32+
exclude:
33+
# Currently 32bit only, and we build 64bit
34+
- os: windows
35+
python: pypy2
36+
- os: windows
37+
python: pypy3
38+
39+
# Currently can't build due to warning, fixed in CPython > 3.9b5
40+
- os: macos
41+
python: 3.9-dev
42+
43+
# Currently broken on embed_test
44+
- os: windows
45+
python: 3.8
46+
- os: windows
47+
python: 3.9-dev
48+
49+
name: Python ${{ matrix.python }} on ${{ matrix.os }}
50+
runs-on: ${{ matrix.os }}-latest
51+
52+
steps:
53+
- uses: actions/checkout@v2
54+
55+
- name: Setup Python ${{ matrix.python }}
56+
uses: actions/setup-python@v2
57+
with:
58+
python-version: ${{ matrix.python }}
59+
60+
- name: Prepare env
61+
run: python -m pip install -r tests/requirements.txt
62+
63+
- name: Configure
64+
shell: bash
65+
run: >
66+
cmake -S . -B build
67+
-DPYBIND11_WERROR=ON
68+
-DDOWNLOAD_CATCH=ON
69+
-DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)")
70+
71+
- name: Build
72+
run: cmake --build build -j 2
73+
74+
- name: Python tests
75+
run: cmake --build build --target pytest -j 2 -v
76+
77+
- name: C++ tests
78+
run: cmake --build build --target cpptest -j 2 -v
79+
80+
- name: Interface test
81+
run: cmake --build build --target test_cmake_build

tests/requirements.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
--extra-index-url https://antocuni.github.io/pypy-wheels/manylinux2010/
2+
numpy; platform_python_implementation!="PyPy" or sys_platform!="darwin" or python_version<"3.0"
3+
pytest

0 commit comments

Comments
 (0)