-
Notifications
You must be signed in to change notification settings - Fork 2.1k
70 lines (68 loc) · 2.26 KB
/
amd64_linux_cmake_python.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
# ref: https://github.com/actions/runner-images
name: amd64 Linux CMake Python
on: [push, pull_request, workflow_dispatch]
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Ninja", config: Release, build_target: all, test_target: test, install_target: install},
{generator: "Ninja Multi-Config", config: Release, build_target: all, test_target: test, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
]
python: [
{version: "3.9"},
{version: "3.10"},
{version: "3.11"},
{version: "3.12"},
{version: "3.13"},
]
fail-fast: false
name: Linux • ${{ matrix.cmake.generator }} • Python-${{ matrix.python.version }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Ninja
run: |
sudo apt update
sudo apt install -y ninja-build
- name: Swig install
run: |
sudo apt install -y swig
swig -version
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python.version }}
- name: Update Path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Check cmake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_PYTHON=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
-v