3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-15 11:45:41 +00:00
Commit graph

21 commits

Author SHA1 Message Date
Akash Levy
b19948b03a Fix manylinux2014 build: add elfutils-devel, libdwarf-devel for dwarf.h
Made-with: Cursor
2026-03-01 18:14:55 -08:00
Akash Levy
965bc9da31 Fix manylinux2014 build: use quay.io/pypa/manylinux2014_x86_64 image
The manylinux2014 image provides Python 3.13 and a GCC toolchain
already configured for glibc 2.17 compatibility, avoiding the
Python 3.6 syntax issues with bare centos:7.

Made-with: Cursor
2026-03-01 17:50:29 -08:00
Akash Levy
acc08c96c4 Add manylinux2014 (CentOS 7, glibc 2.17+) wheel build to release workflow
Adds a parallel build-manylinux-wheel job using centos:7 container
with devtoolset-11 alongside the existing Alpine/musl wheel build.
Uses auditwheel to tag wheel as manylinux2014_x86_64.

Made-with: Cursor
2026-03-01 17:36:32 -08:00
Akash Levy
83862bda99 Fix race condition: wait for Linux wheel in latest before macOS upload
The macOS job could upload to the latest release before the Linux
job recreated it, causing the macOS wheel to be lost. Now wait
for the Linux wheel to appear in latest first.

Made-with: Cursor
2026-02-28 20:41:07 -08:00
Akash Levy
d62702bd70 Fix macOS wheel: set MACOSX_DEPLOYMENT_TARGET=11.0
actions/setup-python sets a deployment target older than 10.15,
which makes std::filesystem unavailable. Explicitly set 11.0.

Made-with: Cursor
2026-02-28 20:04:59 -08:00
Akash Levy
b2b1e651f7 Fix macOS wheel: use Python 3.13 via setup-python, switch to macos-15
The macos-14 runner ships Python 3.14 by default, producing wheels
incompatible with Python 3.13 environments. Pin to 3.13 using
actions/setup-python and switch to macos-15 for consistency.

Made-with: Cursor
2026-02-28 19:33:39 -08:00
Akash Levy
fe8d302472 fix: add retries to macOS wheel upload for race condition with Linux job
Made-with: Cursor
2026-02-28 18:53:38 -08:00
Akash Levy
1bb440ef15 refactor: build wheels only (no tarballs) for linux amd64 and macOS arm64
Remove standalone tarball builds. The release now produces only
pyosys Python wheels for both platforms.

Made-with: Cursor
2026-02-28 18:14:48 -08:00
Akash Levy
3d5cb87c90 Fix macOS build: remove pip3 install pybind11
pybind11 is not needed since ENABLE_PYOSYS=0, and pip3 fails on
the macos-15 runner due to externally-managed-environment.

Made-with: Cursor
2026-02-28 18:02:51 -08:00
Akash Levy
e2b343a34f Fix macOS build: install ccache, disable pyosys
The macOS runner doesn't have ccache or pybind11 pre-installed.
Install ccache via brew and disable ENABLE_PYOSYS since we only
need the binary tarball (not the wheel) for macOS.

Made-with: Cursor
2026-02-28 17:27:20 -08:00
Akash Levy
9e29b7d761 Add macOS arm64 build to release workflow
Adds a build-macos job on macos-15 that builds Verific tclmain and
yosys with SMALL=1, bundles non-system dylibs, and uploads
yosys-macos-arm64.tar.gz alongside the existing Linux assets.

Made-with: Cursor
2026-02-28 16:49:32 -08:00
Akash Levy
df261f46e3 feat: bundle shared library deps and set RPATH in release tarball
Copies all non-system shared library dependencies into lib/, then
uses patchelf to set RPATH to $ORIGIN/../lib for bin/ executables
and $ORIGIN for lib/ libraries.

Made-with: Cursor
2026-02-28 15:26:53 -08:00
Akash Levy
944d0b370a fix: clean between wheel and tarball builds to avoid TCL mismatch
The wheel build uses ENABLE_TCL=0, but the standalone yosys binary
needs ENABLE_TCL=1. Without a clean, stale .o files cause undefined
reference errors for TCL symbols.

Made-with: Cursor
2026-02-28 13:49:53 -08:00
Akash Levy
fe4a997549 fix: add flex-dev for FlexLexer.h header
Made-with: Cursor
2026-02-28 13:14:04 -08:00
Akash Levy
402d6b0566 fix: add libdwarf-dev and elfutils-dev for backward-cpp headers
Made-with: Cursor
2026-02-28 12:38:16 -08:00
Akash Levy
e7e15b6120 fix: add Alpine/musl shims for libtcl and libnsl
Verific tclmain links -ltcl and -lnsl. Alpine tcl-dev provides
libtcl8.6.so (no libtcl.so symlink), and musl has no libnsl.
Create symlink and stub shared lib to satisfy the linker.

Made-with: Cursor
2026-02-28 12:20:32 -08:00
Akash Levy
0b0c19b271 fix: use SSH_PRIVATE_KEY secret for private submodule access
Use the same SSH key approach as source-vendor.yml for cloning
private submodules (abc, verific).

Made-with: Cursor
2026-02-28 12:09:28 -08:00
Akash Levy
708637f65a fix: use PAT for private submodule access (abc, verific)
Deploy keys are repo-scoped and can't access multiple private repos.
Use a PAT (SUBMODULE_PAT) that has access to all required repos.

Made-with: Cursor
2026-02-28 12:07:03 -08:00
Akash Levy
44beeb5213 fix: use SSH deploy key for private verific submodule checkout
Made-with: Cursor
2026-02-28 12:05:26 -08:00
Akash Levy
2c1d160930 fix: trigger release workflow on main branch, not master
Made-with: Cursor
2026-02-28 12:03:52 -08:00
Akash Levy
fc4ff6ecd2 Add release workflow 2026-02-27 15:01:06 -08:00