Skip to content

Commit 8bc3aa1

Browse files
ci: Enable dummy GitHub actions for repository
Allows us to use upstream's CI
1 parent cff6828 commit 8bc3aa1

File tree

3 files changed

+6
-445
lines changed

3 files changed

+6
-445
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 348 deletions
Original file line numberDiff line numberDiff line change
@@ -5,355 +5,13 @@ on:
55
pull_request:
66
push:
77
branches:
8-
- master
9-
- stable
10-
- v*
8+
- drake
119

1210
jobs:
13-
standard:
14-
strategy:
15-
matrix:
16-
runs-on: [ubuntu-latest, windows-latest, macos-latest]
17-
arch: [x64]
18-
python:
19-
- 2.7
20-
- 3.5
21-
- 3.8
22-
- pypy2
23-
- pypy3
24-
25-
include:
26-
- runs-on: ubuntu-latest
27-
python: 3.6
28-
arch: x64
29-
args: >
30-
-DPYBIND11_FINDPYTHON=ON
31-
- runs-on: windows-2016
32-
python: 3.7
33-
arch: x86
34-
args2: >
35-
-DCMAKE_CXX_FLAGS="/permissive- /EHsc /GR"
36-
- runs-on: windows-latest
37-
python: 3.6
38-
arch: x64
39-
args: >
40-
-DPYBIND11_FINDPYTHON=ON
41-
- runs-on: windows-latest
42-
python: 3.7
43-
arch: x64
44-
45-
- runs-on: ubuntu-latest
46-
python: 3.9-dev
47-
arch: x64
48-
- runs-on: macos-latest
49-
python: 3.9-dev
50-
arch: x64
51-
args: >
52-
-DPYBIND11_FINDPYTHON=ON
53-
54-
exclude:
55-
# Currently 32bit only, and we build 64bit
56-
- runs-on: windows-latest
57-
python: pypy2
58-
arch: x64
59-
- runs-on: windows-latest
60-
python: pypy3
61-
arch: x64
62-
63-
# Currently broken on embed_test
64-
- runs-on: windows-latest
65-
python: 3.8
66-
arch: x64
67-
- runs-on: windows-latest
68-
python: 3.9-dev
69-
arch: x64
70-
71-
72-
name: "🐍 ${{ matrix.python }} • ${{ matrix.runs-on }} • ${{ matrix.arch }} ${{ matrix.args }}"
73-
runs-on: ${{ matrix.runs-on }}
74-
continue-on-error: ${{ endsWith(matrix.python, 'dev') }}
75-
76-
steps:
77-
- uses: actions/checkout@v2
78-
79-
- name: Setup Python ${{ matrix.python }}
80-
uses: actions/setup-python@v2
81-
with:
82-
python-version: ${{ matrix.python }}
83-
architecture: ${{ matrix.arch }}
84-
85-
- name: Setup Boost (Windows / Linux latest)
86-
run: echo "::set-env name=BOOST_ROOT::$BOOST_ROOT_1_72_0"
87-
88-
- name: Update CMake
89-
uses: jwlawson/[email protected]
90-
91-
- name: Cache wheels
92-
if: runner.os == 'macOS'
93-
uses: actions/cache@v2
94-
with:
95-
# This path is specific to macOS - we really only need it for PyPy NumPy wheels
96-
# See https://github.com/actions/cache/blob/master/examples.md#python---pip
97-
# for ways to do this more generally
98-
path: ~/Library/Caches/pip
99-
# Look to see if there is a cache hit for the corresponding requirements file
100-
key: ${{ runner.os }}-pip-${{ matrix.python }}-${{ matrix.arch }}-${{ hashFiles('tests/requirements.txt') }}
101-
102-
- name: Prepare env
103-
run: python -m pip install -r tests/requirements.txt --prefer-binary
104-
105-
- name: Setup annotations
106-
run: python -m pip install pytest-github-actions-annotate-failures
107-
108-
- name: Configure C++11 ${{ matrix.args }}
109-
run: >
110-
cmake -S . -B .
111-
-DPYBIND11_WERROR=ON
112-
-DDOWNLOAD_CATCH=ON
113-
-DDOWNLOAD_EIGEN=ON
114-
-DCMAKE_CXX_STANDARD=11
115-
${{ matrix.args }}
116-
117-
- name: Build C++11
118-
run: cmake --build . -j 2
119-
120-
- name: Python tests C++11
121-
run: cmake --build . --target pytest -j 2
122-
123-
- name: C++11 tests
124-
run: cmake --build . --target cpptest -j 2
125-
126-
- name: Interface test C++11
127-
run: cmake --build . --target test_cmake_build
128-
129-
- name: Clean directory
130-
run: git clean -fdx
131-
132-
- name: Configure ${{ matrix.args2 }}
133-
run: >
134-
cmake -S . -B build2
135-
-DPYBIND11_WERROR=ON
136-
-DDOWNLOAD_CATCH=ON
137-
-DDOWNLOAD_EIGEN=ON
138-
-DCMAKE_CXX_STANDARD=17
139-
${{ matrix.args }}
140-
${{ matrix.args2 }}
141-
142-
- name: Build
143-
run: cmake --build build2 -j 2
144-
145-
- name: Python tests
146-
run: cmake --build build2 --target pytest
147-
148-
- name: C++ tests
149-
run: cmake --build build2 --target cpptest
150-
151-
- name: Interface test
152-
run: cmake --build build2 --target test_cmake_build
153-
154-
clang:
155-
runs-on: ubuntu-latest
156-
strategy:
157-
fail-fast: false
158-
matrix:
159-
clang:
160-
- 3.6
161-
- 3.7
162-
- 3.9
163-
- 5
164-
- 7
165-
- 9
166-
- dev
167-
168-
name: "🐍 3 • Clang ${{ matrix.clang }} • x64"
169-
container: "silkeh/clang:${{ matrix.clang }}"
170-
171-
steps:
172-
- uses: actions/checkout@v2
173-
174-
- name: Add wget and python3
175-
run: apt-get update && apt-get install -y python3-dev python3-numpy python3-pytest libeigen3-dev
176-
177-
- name: Configure
178-
shell: bash
179-
run: >
180-
cmake -S . -B build
181-
-DPYBIND11_WERROR=ON
182-
-DDOWNLOAD_CATCH=ON
183-
-DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
184-
185-
- name: Build
186-
run: cmake --build build -j 2
187-
188-
- name: Python tests
189-
run: cmake --build build --target pytest
190-
191-
- name: C++ tests
192-
run: cmake --build build --target cpptest
193-
194-
- name: Interface test
195-
run: cmake --build build --target test_cmake_build
196-
197-
gcc:
198-
runs-on: ubuntu-latest
199-
strategy:
200-
fail-fast: false
201-
matrix:
202-
gcc:
203-
- 7
204-
- latest
205-
206-
name: "🐍 3 • GCC ${{ matrix.gcc }} • x64"
207-
container: "gcc:${{ matrix.gcc }}"
208-
209-
steps:
210-
- uses: actions/checkout@v1
211-
212-
- name: Add Python 3
213-
run: apt-get update; apt-get install -y python3-dev python3-numpy python3-pytest python3-pip libeigen3-dev
214-
215-
- name: Update pip
216-
run: python3 -m pip install --upgrade pip
217-
218-
- name: Setup CMake 3.18
219-
uses: jwlawson/[email protected]
220-
with:
221-
cmake-version: 3.18
222-
223-
- name: Configure
224-
shell: bash
225-
run: >
226-
cmake -S . -B build
227-
-DPYBIND11_WERROR=ON
228-
-DDOWNLOAD_CATCH=ON
229-
-DCMAKE_CXX_STANDARD=11
230-
-DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
231-
232-
- name: Build
233-
run: cmake --build build -j 2
234-
235-
- name: Python tests
236-
run: cmake --build build --target pytest
237-
238-
- name: C++ tests
239-
run: cmake --build build --target cpptest
240-
241-
- name: Interface test
242-
run: cmake --build build --target test_cmake_build
243-
244-
centos:
11+
# Will be replaced by part of upstream's CI.
12+
placeholder:
13+
name: placeholder
24514
runs-on: ubuntu-latest
246-
strategy:
247-
fail-fast: false
248-
matrix:
249-
centos:
250-
- 7 # GCC 4.8
251-
- 8
252-
253-
name: "🐍 3 • CentOS ${{ matrix.centos }} • x64"
254-
container: "centos:${{ matrix.centos }}"
255-
25615
steps:
257-
- uses: actions/checkout@v2
258-
259-
- name: Add Python 3
260-
run: yum update -y && yum install -y python3-devel gcc-c++ make git
261-
262-
- name: Update pip
263-
run: python3 -m pip install --upgrade pip
264-
265-
- name: Install dependencies
266-
run: python3 -m pip install cmake -r tests/requirements.txt --prefer-binary
267-
268-
- name: Configure
269-
shell: bash
270-
run: >
271-
cmake -S . -B build
272-
-DPYBIND11_WERROR=ON
273-
-DDOWNLOAD_CATCH=ON
274-
-DDOWNLOAD_EIGEN=ON
275-
-DCMAKE_CXX_STANDARD=11
276-
-DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
277-
278-
- name: Build
279-
run: cmake --build build -j 2
280-
281-
- name: Python tests
282-
run: cmake --build build --target pytest
283-
284-
- name: C++ tests
285-
run: cmake --build build --target cpptest
286-
287-
- name: Interface test
288-
run: cmake --build build --target test_cmake_build
289-
290-
install-classic:
291-
name: "🐍 3.5 • Debian • x86 • Install"
292-
runs-on: ubuntu-latest
293-
container: i386/debian:stretch
294-
295-
steps:
296-
- uses: actions/checkout@v1
297-
298-
- name: Install requirements
299-
run: |
300-
apt-get update
301-
apt-get install -y git make cmake g++ libeigen3-dev python3-dev python3-pip
302-
pip3 install "pytest==3.1.*"
303-
304-
- name: Configure for install
305-
run: >
306-
cmake .
307-
-DPYBIND11_INSTALL=1 -DPYBIND11_TEST=0
308-
-DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
309-
310-
- name: Make and install
311-
run: make install
312-
313-
- name: Copy tests to new directory
314-
run: cp -a tests /pybind11-tests
315-
316-
- name: Make a new test directory
317-
run: mkdir /build-tests
318-
319-
- name: Configure tests
320-
run: >
321-
cmake ../pybind11-tests
322-
-DDOWNLOAD_CATCH=ON
323-
-DPYBIND11_WERROR=ON
324-
-DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
325-
working-directory: /build-tests
326-
327-
- name: Run tests
328-
run: make pytest -j 2
329-
working-directory: /build-tests
330-
331-
332-
doxygen:
333-
name: "Documentation build test"
334-
runs-on: ubuntu-latest
335-
container: alpine:3.12
336-
337-
steps:
338-
- uses: actions/checkout@v2
339-
340-
- name: Install system requirements
341-
run: apk add doxygen python3-dev
342-
343-
- name: Ensure pip
344-
run: python3 -m ensurepip
345-
346-
- name: Install docs & setup requirements
347-
run: python3 -m pip install -r docs/requirements.txt pytest setuptools
348-
349-
- name: Build docs
350-
run: python3 -m sphinx -W -b html docs docs/.build
351-
352-
- name: Make SDist
353-
run: python3 setup.py sdist
354-
355-
- name: Compare Dists (headers only)
356-
run: |
357-
python3 -m pip install --user -U ./dist/*
358-
installed=$(python3 -c "import pybind11; print(pybind11.get_include(True) + '/pybind11')")
359-
diff -rq $installed ./include/pybind11
16+
- name: checkout
17+
uses: actions/checkout@v2

0 commit comments

Comments
 (0)