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

308 commits

Author SHA1 Message Date
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
7a35a982d3
Merge pull request #111 from Silimate/timing_balance_impl
silimate: add opt_timing_balance pass and tests
2026-02-28 12:22:23 -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
tondapusili
f46b8d2a44 silimate: add opt_timing_balance pass and tests 2026-02-27 09:13:39 -08:00
Akash Levy
33c2c88fa4 Bump Yosys to latest from upstream 2026-02-17 23:41:39 -08:00
Miodrag Milanovic
bb7aa7d208 Cleanup of yml files 2026-02-12 14:56:45 +01:00
Miodrag Milanovic
e5b3e9fc1f This one should run only vanilla-tests 2026-02-12 14:08:49 +01:00
Miodrag Milanovic
c6e48f4bea These are tests from other Makefile 2026-02-12 14:06:08 +01:00
Emil J. Tywoniak
dfbef2fe24 .github: run unit tests in build jobs, not test jobs 2026-02-11 00:55:36 +01:00
Krystine Sherwin
9f30f0e7d6
test-build: Don't rebuild OBJS 2026-02-10 15:34:47 +13:00
Krystine Sherwin
030e495c8b
test-build: Build and cache libyosys.so 2026-02-10 15:05:17 +13:00
Emil J. Tywoniak
ff9cd0eed7 Makefile: test target requires unit-test, add vanilla-test for old test target 2026-02-09 23:21:24 +01:00
Akash Levy
c49055cb4e
Remove persist-credentials from checkout steps
Removed 'persist-credentials: false' from multiple checkout steps.
2026-01-21 16:11:54 -08:00
Akash Levy
a121255f47
Merge branch 'YosysHQ:main' into main 2026-01-13 11:28:34 -08:00
Emil J
ff3c24fcdc
Merge pull request #5521 from YosysHQ/emil/merge-queues
.github: trigger everything that triggers on main or PRs on merge queue
2026-01-13 17:22:37 +01:00
Akash Levy
abd485fa49 Bump Yosys to latest 2025-12-17 21:06:17 -08:00
Miodrag Milanovic
cf9ab4c899 Cleanup version.cc creation for VS build 2025-12-09 13:50:17 +01:00
Emil J. Tywoniak
214d09a8c6 .github: everything that triggers on main or PRs should trigger on merge queue commit 2025-11-27 14:57:02 +01:00
Miodrag Milanovic
5e0bc3fd9f Build pyosys on CI 2025-11-13 16:17:53 +01:00
Akash Levy
0785f7721f pyosys fixups 2025-11-12 09:47:23 -08:00
Akash Levy
11731c91f4 Merge from upstream 2025-11-04 22:20:34 -08:00
Miodrag Milanovic
e89c5914fe CodeQL CI fix 2025-11-05 07:10:08 +01:00
KrystalDelusion
52c108cd6a
Merge pull request #4596 from YosysHQ/emil/path-sep-refactor
Refactor getting dirs and filenames from paths to files
2025-11-05 09:12:54 +13:00
Mohamed Gaber
51c8193643
hotfix: update libffi in wheels ci
update libffi to a version where https://github.com/libffi/libffi/issues/852 is fixed
2025-11-04 14:58:48 +02:00
Mohamed Gaber
3a54ed6916
hotfix: don't use uv when building wheels 2025-11-04 14:39:51 +02:00
Miodrag Milanovic
ad3ae52e9a Upload only on manual action 2025-11-04 09:30:04 +01:00
Miodrag Milanovic
db76eebc0f Remove mentions of Boost 2025-11-04 08:35:07 +01:00
Miodrag Milanovic
35e4d967c6 install UV in wheels.yml 2025-11-04 08:00:35 +01:00
Krystine Sherwin
1f6ac5f392 CI: Split dependency setup
Split into common + build/docs/test (common always installs, build/docs/test are installed as requested with `build-*-deps` input flag).
2025-11-04 07:39:06 +01:00
Krystine Sherwin
0e2d24edd3 CI: iverilog setup as composite action
Called during setup-build-env.
2025-11-04 07:39:06 +01:00
Krystine Sherwin
2d778a94fa action.yml: Playing with apt cache 2025-11-04 07:39:05 +01:00
Mohamed Gaber
e9733d681d
pyosys: uv for non-wheel builds, update instructions
- add `uv` to dependencies: saves builder(s) from manually having to manage a venv for python build dependencies
  - when building wheels, pip automatically creates the environment with those dependencies, so no need for uv
  - when running simply `make ENABLE_PYOSYS=1`, this is not the case. people attempting to `pip3 install --upgrade pybind11 cxxheaderparser` to add it to their system packages will be met with a scare message about "breaking system packages"
- update installation instructions to drop boost and add uv instead
- update ci scripts to use `macos-15[-intel]` (`macos-13` sunset in early december)
2025-11-03 15:39:31 +02:00
Mohamed Gaber
dec28f65ae
Merge remote-tracking branch 'donn/pyosys_bugfixes' into merge_pybind11 2025-10-26 02:39:43 +03:00
Emil Jiří Tywoniak
d1a628ab26 CI: bump WASI SDK from 19 to 27 2025-10-14 15:47:08 +02:00
Mohamed Gaber
80fcce64da
pyosys: fix ref-only classes, implicit conversions
+ cleanup
2025-10-03 11:54:44 +03:00
Mohamed Gaber
447a6cb3f0
misc: WITH_PYTHON -> YOSYS_ENABLE_PYTHON
For consistency.

Also trying a new thing: only rebuilding objects that use the pybind11 library. The idea is these are the only objects that include the Python/pybind headers and thus the only ones that depend on the Python ABI in any capacity, so other objects can be reused across wheel builds. This has the potential to cut down build times.
2025-10-03 11:54:44 +03:00
Mohamed Gaber
dc88906c91
tests/pyosys: print log on failed test, fix make clean 2025-10-03 11:54:44 +03:00
Mohamed Gaber
88be728353
pyosys: rewrite using pybind11
- Rewrite all Python features to use the pybind11 library instead of boost::python.
  Unlike boost::python, pybind11 is a header-only library that is just included by Pyosys code, saving a lot of compile time on wheels.
- Factor out as much "translation" code from the generator into proper C++ files
- Fix running the embedded interpreter not supporting "from pyosys import libyosys as ys" like wheels
- Move Python-related elements to `pyosys` directory at the root of the repo
- Slight shift in bridging semantics:
  - Containers are declared as "opaque types" and are passed by reference to Python - many methods have been implemented to make them feel right at home without the overhead/ambiguity of copying to Python and then copying back after mutation
  - Monitor/Pass use "trampoline" pattern to support virual methods overridable in Python: virtual methods no longer require `py_` prefix
- Create really short test set for pyosys that just exercises basic functionality
2025-10-03 11:54:44 +03:00
Akash Levy
fbc2b71ed4 Revert some stuff 2025-09-29 00:43:49 -07:00
Akash Levy
507d43a9b8 Fixups 2025-09-28 06:16:07 -07:00
Akash Levy
652a9a63b2 Update to latest and fix all disabled tests 2025-09-28 01:33:08 -07:00