3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-15 03:35:40 +00:00
Commit graph

402 commits

Author SHA1 Message Date
Mohamed Gaber
e58125b605
Merge remote-tracking branch 'upstream/main' into silimate 2026-06-09 16:22:51 +03:00
Miodrag Milanovic
4124649b1b Bump CI to use gcc-16 as latest compiler 2026-06-03 13:09:38 +02:00
Catherine
afc0e78d11 Update top-level Python project for CMake compatibility.
This commit reimplements the (no longer recommended) setuptools based
build system using a standards-based in-tree PEP517 build backend.
The implementation is partially based on
  https://codeberg.org/ziglang/zig-pypi/src/branch/main/make_wheels.py
which is licensed under BSD-0-clause.

It also adds a new option `YOSYS_BUILD_PYTHON_ONLY` that is available
only if the binary or the library aren't going to be installed, which
turns off these targets entirely, as well as some dependent ones
(e.g. tests).

Co-authored-by: Mohamed Gaber <me@donn.website>
2026-06-03 09:03:23 +00:00
Catherine
780588f28c Drop YOSYS_ENABLE_HELP_SOURCE since C++20 is required. 2026-06-03 08:58:11 +00:00
Miodrag Milanovic
ce280354cf Update CI scripts for CMake
Co-authored-by: Catherine <whitequark@whitequark.org>
2026-06-03 08:58:11 +00:00
Miodrag Milanovic
904151acd8 Fix wheels 2026-06-01 09:59:04 +02:00
Miodrag Milanović
4b3165dd50
Merge pull request #5859 from YosysHQ/coverage
Generate coverage for tests
2026-05-15 15:37:58 +00:00
Miodrag Milanovic
8022b5445b Convert to using LLVM code coverage 2026-05-15 11:59:22 +02:00
Miodrag Milanovic
c16e0352f7 Bump to clang-22 on macOS as well 2026-05-15 11:13:59 +02:00
Miodrag Milanovic
70b17181b4 Bump gcc and clang versions 2026-05-14 10:51:40 +02:00
Miodrag Milanovic
6ac8758e7e Generate coverage for tests 2026-05-14 08:11:43 +02:00
Miodrag Milanovic
6d4e5f5ad0 Bump versions to safe floor 2026-05-13 14:38:58 +02:00
Miodrag Milanovic
9182329fa1 Try making clang-10 to work 2026-05-13 12:05:37 +02:00
Miodrag Milanovic
25459bd8b9 Fix for clang-10 toolchain 2026-05-13 11:09:40 +02:00
Miodrag Milanovic
6ff6f8fb3c Bump required standard to C++20 2026-05-13 10:10:59 +02:00
bin
5dfe1937a0 Upgrade to WASI SDK 33 and enable exceptions 2026-05-01 13:30:43 -04:00
Emil J. Tywoniak
f213a34427 Remove FHS dependency by replacing /bin/bash with /usr/bin/env bash everywhere 2026-04-22 10:39:19 +02:00
Miodrag Milanovic
514c55f53f Fix yml for verific tests 2026-04-16 11:00:44 +02:00
Emil J
90b906c4fc
Merge pull request #5635 from YosysHQ/emil/contributing-again
docs: touch up contributing guidelines
2026-04-12 22:10:41 +00:00
Krystine Sherwin
cb56f01971
prepare-docs.yml: Don't skip pushes 2026-04-09 10:30:08 +12:00
Miodrag Milanovic
74070911cd Fix repository check in yml 2026-04-08 18:11:46 +02:00
Emil J. Tywoniak
2572b1e3df .github: fix label for links 2026-04-07 18:59:06 +02:00
Miodrag Milanovic
d58e0447c7 Enable macOS builds 2026-04-03 07:59:00 +02:00
Miodrag Milanovic
d37b02af03 CI: temporary disable macos for testing 2026-03-27 17:46:14 +01:00
Miodrag Milanovic
2a8024ea4a Upgrade CI actions 2026-03-19 12:22:57 +01:00
Miodrag Milanovic
bccfdef05d Check results properly 2026-03-18 17:48:28 +01:00
Emil J. Tywoniak
70cc2d67fd opt_clean: refactor 2026-03-06 02:20:14 +00:00
Miodrag Milanovic
cf4d4ff23d CI: add support for merge queue 2026-03-04 11:35:16 +01:00
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
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