Skip to content

Commit 5e30213

Browse files
pdepetrometa-codesync[bot]
authored andcommitted
Pin cibuildwheel and install libzstd in release workflow
Summary: Two related fixes to `.github/workflows/release.yml` so the release workflow can actually build wheels. Replaces the earlier broken `pypa/cibuildwheel@v2` reference (cibuildwheel does not publish a rolling major-only tag — the error was `Error: Unable to resolve action pypa/cibuildwheel@v2, unable to find version v2`). 1. **Pin cibuildwheel to `v3.4.1`**. cibuildwheel tags all real releases as full semver (`v3.4.1`, `v2.23.2`, ...) and minor-rolling (`v3.4`, `v3.3`), but no major-rolling tag exists. v3.4.1 matches what other fbsource release workflows (e.g. arvr/momentum) use today, and v3 is a drop-in for our config (`CIBW_BUILD`, `CIBW_SKIP`, `CIBW_ARCHS_MACOS` unchanged). 2. **Install libzstd at build time** via `CIBW_BEFORE_ALL_LINUX` and `CIBW_BEFORE_ALL_MACOS`. The sibling `ci.yml` already installs `libzstd-dev` / `brew install zstd` on its host runners, but release.yml builds inside the manylinux2014 container (Linux) or on a fresh macos-latest runner, neither of which has zstd development headers available. Without this, the C++ extension compile would fail after the action-resolve fix. Caveats and likely next issues: - The macOS x86_64 cross-compile leg may still fail to link against zstd if brew only provides an arm64 build on macos-latest runners. If that shows up, remediation options are: (a) drop x86_64 from CIBW_ARCHS_MACOS (arm64-only wheels), (b) build zstd from source per-arch inside the cibuildwheel container. - `yum install libzstd-devel` on manylinux2014 is fine (EPEL/default repo); if cibuildwheel bumps the manylinux image default to manylinux_2_28 (CentOS Stream 9 base), this still works because libzstd-devel is in the default AppStream repo there too. Reviewed By: youngd007 Differential Revision: D103457641 fbshipit-source-id: 9bfb0557562535cfda575ba697254e41941537ec
1 parent a3aef46 commit 5e30213

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

.github/workflows/release.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,18 @@ jobs:
5454
submodules: recursive
5555

5656
- name: Build wheels
57-
uses: pypa/cibuildwheel@v2
57+
uses: pypa/cibuildwheel@v3.4.1
5858
env:
5959
CIBW_BUILD: "cp312-* cp313-*"
6060
CIBW_SKIP: "*-manylinux_i686 *-musllinux*"
6161
CIBW_ARCHS_MACOS: "x86_64 arm64"
62+
# Install libzstd inside the manylinux container (mirrors ci.yml's
63+
# `apt install libzstd-dev` but adapted for the CentOS-based image).
64+
CIBW_BEFORE_ALL_LINUX: "yum install -y libzstd-devel"
65+
# macOS: zstd is needed at build time. brew provides it for the
66+
# runner's native arch; the x86_64 cross-compile leg may need
67+
# additional work if the linker can't find an Intel build.
68+
CIBW_BEFORE_ALL_MACOS: "brew install zstd"
6269

6370
- name: Upload wheels artifact
6471
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)