forked from scikit-hep/fastjet
-
Notifications
You must be signed in to change notification settings - Fork 0
154 lines (129 loc) · 3.79 KB
/
ci.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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
name: CI
on:
workflow_dispatch:
pull_request:
push:
# branches:
# - master
# - main
# - develop
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pre-commit:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v5
- uses: pre-commit/[email protected]
with:
extra_args: --hook-stage manual --all-files
checks:
name: Check Python ${{ matrix.python-version }}, ${{ matrix.arch }} on ${{ matrix.runs-on }}
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]
runs-on: [macos-13, macos-latest]
arch: [auto64]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install compiler tools on macOS
if: runner.os == 'macOS'
shell: bash
run: |
brew install make automake swig gmp mpfr boost cgal libtool
- name: Install extra deps on Linux
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libboost-dev libcgal-dev libmpfr-dev swig autoconf libtool
- name: Debug clang
run: |
clang --version
clang++ --version
command -v clang
echo "CXX: $CXX"
env | grep HOMEBREW
brew shellenv
eval $(brew shellenv)
env | grep HOMEBREW
- name: Install package
run: |
eval $(brew shellenv)
echo "PATH: $PATH"
export CXX=$(command -v clang++)
echo "CXX: $CXX"
python -m pip install '.[test]' -v
- name: List installed Python packages
run: python -m pip list
- name: Test package
run: python -m pytest -vv -rs -Wd
test_wheels:
name: "Wheel: ${{ matrix.python }}, ${{ matrix.arch }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-13, macos-latest]
python: [312]
arch: [auto64]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: docker/setup-qemu-action@v3
if: matrix.arch != 'auto64'
with:
platforms: all
- name: Install compiler tools on macOS
if: runner.os == 'macOS'
run: |
brew install make automake swig mpfr boost cgal libtool
export PATH="/usr/local/opt/make/libexec/gnubin:$PATH"
- name: Clone gmp
if: runner.os == 'macOS'
uses: actions/checkout@v4
with:
repository: gmp-mirror/gmp-6.3
path: gmp-6.3
- name: Build gmp from source for MACOSX_DEPLOYMENT_TARGET
if: runner.os == 'macOS'
env:
MACOSX_DEPLOYMENT_TARGET: "10.9"
working-directory: gmp-6.3
run: |
brew install texinfo
autoreconf -i -f
./configure --help
./configure \
--prefix=$(brew --prefix) \
--enable-cxx
touch ./doc/version.texi
make --jobs
make install
- uses: pypa/[email protected]
env:
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_BUILD: cp${{ matrix.python }}-*
CIBW_BUILD_VERBOSITY: 2
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ matrix.python }}-${{ matrix.arch }}
path: wheelhouse/*.whl
pass:
needs: [pre-commit, checks, test_wheels]
runs-on: ubuntu-latest
steps:
- run: echo "All jobs passed"