Skip to content

Commit 17c7dec

Browse files
committed
ci: add native riscv64 wheel builds using RISE runners
Signed-off-by: Bruno Verachten <gounthar@gmail.com>
1 parent 3c36a94 commit 17c7dec

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

.github/workflows/wheel-builder.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,42 @@ jobs:
127127
name: "bcrypt-${{ github.event.inputs.version }}-${{ matrix.MANYLINUX.NAME }}-${{ matrix.PYTHON.VERSION }}${{ matrix.PYTHON.ABI_VERSION }}"
128128
path: bcrypt-wheelhouse/
129129

130+
manylinux-riscv64:
131+
needs: [sdist]
132+
runs-on: ubuntu-24.04-riscv
133+
strategy:
134+
fail-fast: false
135+
matrix:
136+
PYTHON:
137+
- { VERSION: "cp39-cp39", ABI_VERSION: "" }
138+
- { VERSION: "cp312-cp312", ABI_VERSION: "" }
139+
name: "${{ matrix.PYTHON.VERSION }} for manylinux_riscv64"
140+
steps:
141+
- name: Install system dependencies
142+
run: |
143+
sudo apt-get update
144+
sudo apt-get install -y python3-dev python3-venv python3-pip patchelf rustc cargo libffi-dev
145+
- run: python3 -m venv .venv
146+
- name: Install python dependencies
147+
run: .venv/bin/pip install -U pip wheel setuptools-rust auditwheel
148+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
149+
with:
150+
name: bcrypt-sdist
151+
- run: mkdir tmpwheelhouse
152+
- name: Build the wheel
153+
run: |
154+
.venv/bin/python -m pip wheel -v bcrypt*.tar.gz -w dist/ && mv dist/bcrypt*.whl tmpwheelhouse
155+
- run: auditwheel repair tmpwheelhouse/bcrypt*.whl -w wheelhouse/
156+
- run: .venv/bin/pip install bcrypt --no-index -f wheelhouse/
157+
- run: |
158+
.venv/bin/python -c "import bcrypt; password = b'super secret password';hashed = bcrypt.hashpw(password, bcrypt.gensalt());bcrypt.checkpw(password, hashed)"
159+
- run: mkdir bcrypt-wheelhouse
160+
- run: mv wheelhouse/bcrypt*.whl bcrypt-wheelhouse/
161+
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
162+
with:
163+
name: "bcrypt-${{ github.event.inputs.version }}-manylinux_riscv64-${{ matrix.PYTHON.VERSION }}"
164+
path: bcrypt-wheelhouse/
165+
130166
macos:
131167
needs: [sdist]
132168
runs-on: macos-15

0 commit comments

Comments
 (0)