Skip to content

Commit 53f0d75

Browse files
committed
ci: fix wheel and cibuildwheel for pipy uploading
1 parent 2e0f56a commit 53f0d75

1 file changed

Lines changed: 50 additions & 7 deletions

File tree

.github/workflows/build_wheels.yaml

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,62 @@ jobs:
2323
name: core-wheels
2424
path: ./wheelhouse/*.whl
2525

26-
build_extension_wheels:
27-
name: Build ${{ matrix.extension }} wheels on Python ${{ matrix.python-version }}
26+
build_cpp_extension_wheels:
27+
name: Build C++ extension wheels for ${{ matrix.extension }}
2828
needs: [build_core_wheels]
2929
runs-on: ubuntu-latest
3030
strategy:
3131
fail-fast: false
3232
matrix:
33-
python-version: ["3.11", "3.12", "3.13"]
3433
extension:
3534
- rcs_fr3
3635
- rcs_panda
3736
- rcs_robotics_library
3837
- rcs_so101
38+
39+
steps:
40+
- uses: actions/checkout@v4
41+
42+
- uses: actions/download-artifact@v4
43+
with:
44+
name: core-wheels
45+
path: dist/core
46+
47+
- name: Install root Debian dependencies
48+
run: |
49+
sudo apt-get update
50+
sudo xargs -a debian_deps.txt apt-get install -y
51+
52+
- name: Install extension Debian dependencies
53+
run: |
54+
deps_file="extensions/${{ matrix.extension }}/debian_deps.txt"
55+
if [ -f "${deps_file}" ]; then
56+
sudo xargs -a "${deps_file}" apt-get install -y
57+
fi
58+
59+
- name: Build C++ extension wheels
60+
uses: pypa/cibuildwheel@v2.22.0
61+
env:
62+
CIBW_ARCHS_LINUX: x86_64
63+
CIBW_BUILD: cp311-* cp312-* cp313-*
64+
PIP_FIND_LINKS: /project/dist/core
65+
with:
66+
package-dir: extensions/${{ matrix.extension }}
67+
output-dir: extensions/${{ matrix.extension }}/wheelhouse
68+
69+
- uses: actions/upload-artifact@v4
70+
with:
71+
name: wheels-${{ matrix.extension }}
72+
path: extensions/${{ matrix.extension }}/wheelhouse/*.whl
73+
74+
build_python_extension_wheels:
75+
name: Build pure Python wheel for ${{ matrix.extension }}
76+
needs: [build_core_wheels]
77+
runs-on: ubuntu-latest
78+
strategy:
79+
fail-fast: false
80+
matrix:
81+
extension:
3982
- rcs_realsense
4083
- rcs_robotiq2f85
4184
- rcs_tacto
@@ -67,10 +110,10 @@ jobs:
67110
- name: Set up Python
68111
uses: actions/setup-python@v5
69112
with:
70-
python-version: ${{ matrix.python-version }}
113+
python-version: "3.11"
71114
cache: pip
72115

73-
- name: Build extension wheel
116+
- name: Build pure Python wheel
74117
env:
75118
PIP_FIND_LINKS: ${{ github.workspace }}/dist/core
76119
run: |
@@ -80,11 +123,11 @@ jobs:
80123
81124
- uses: actions/upload-artifact@v4
82125
with:
83-
name: wheels-${{ matrix.extension }}-py${{ matrix.python-version }}
126+
name: wheels-${{ matrix.extension }}
84127
path: extensions/${{ matrix.extension }}/dist/*.whl
85128

86129
upload_pypi:
87-
needs: [build_core_wheels, build_extension_wheels]
130+
needs: [build_core_wheels, build_cpp_extension_wheels, build_python_extension_wheels]
88131
runs-on: ubuntu-latest
89132
if: github.event_name == 'release' && github.event.action == 'published'
90133
environment: pypi

0 commit comments

Comments
 (0)