Commit Graph

279 Commits

Author SHA1 Message Date
Krystine Sherwin eb773ce071
Reapply "Workflow adjustments"
This reverts commit b640a16b07.
2025-08-19 11:29:53 +12:00
Mohamed Gaber 2ed7a7aac9
wheels: fix PATH variables 2025-08-19 01:28:46 +03:00
Mohamed Gaber 6cbd44daa5
wheels: bison 3.8 on almalinux + memory pressure easing
- cibw now builds and uses bison 3.8.2 explicitly on platforms with no or out-of-date bison — AlmaLinux 8 only goes up to Bison 3.0
- cibw environment now includes `OPTFLAGS=-O3` to avoid generating debug info for abc, saving space in memory during linking
- setup.py attempts to build `yosys-abc` independently first to avoid memory pressure from gigantic abc link step running in parallel with something else
2025-08-18 22:34:15 +03:00
Jannis Harder b640a16b07
Revert "Workflow adjustments" 2025-08-18 20:39:00 +02:00
Miodrag Milanović 1a52a714b4
Merge pull request #5280 from YosysHQ/krys/ci_changes
Workflow adjustments
2025-08-18 10:17:12 +02:00
Akash Levy ce972ae7a2 Disable test-cells 2025-08-14 11:22:23 -07:00
Akash Levy 3cd1cc157a Bump Yosys to latest 2025-08-14 10:54:48 -07:00
Miodrag Milanovic 1dbf2df983 Add libfl-dev for CodeQL CI job 2025-08-14 09:15:43 +02:00
Akash Levy 56caf7cd84 Bump Yosys to latest 2025-08-13 13:37:37 -07:00
Emil J fb024c4d55
Merge pull request #5135 from YosysHQ/emil/ast-ownership
ast, read_verilog: ownership in AST, use C++ styles for parser and lexer
2025-08-12 10:58:12 +02:00
Krystine Sherwin 1e6e25c81f
ci: Use correct build artifact 2025-08-12 12:43:14 +12:00
Krystine Sherwin 0f8c040371
ci: Move SAN into a separate workflow 2025-08-12 12:22:02 +12:00
Krystine Sherwin 73403ad830
ci: Adjust workflow triggers for tests
In light of problems with concurrent skipping, disable it.
Instead, limit the `push` trigger to just main, and enable `workflow_dispatch` for manual triggering.
Don't cancel builds from main if a new commit is pushed.
2025-08-12 12:05:23 +12:00
Krystine Sherwin c630f995d5
ci: Reduce test_cell count and use a seed 2025-08-12 11:17:00 +12:00
Krystine Sherwin ba01f7c64f
ci: Run test_cell
Includes special cases for partially supported cells.
2025-08-12 10:57:59 +12:00
Emil J. Tywoniak cbccc01d38 Revert "CI: bump flex and bison on Windows"
This reverts commit efbc138ced.
2025-08-11 13:34:10 +02:00
Krystine Sherwin 4f824e4223 Sneak FlexLexer.h into VS build 2025-08-11 13:34:10 +02:00
Catherine 8455503a50 CI: fix typo 2025-08-11 13:34:10 +02:00
Catherine 4956d3cce5 CI: install flex for WASI builds. 2025-08-11 13:34:10 +02:00
Emil J. Tywoniak 0ce51029f6 fixup! CI: sneak FlexLexer.h into the WASI sysroot 2025-08-11 13:34:10 +02:00
Emil J. Tywoniak 3ec3afb414 CI: bump flex and bison on Windows 2025-08-11 13:34:10 +02:00
Emil J. Tywoniak f3ebf0557e CI: sneak FlexLexer.h into the WASI sysroot 2025-08-11 13:34:10 +02:00
Akash Levy d0ab898e88
Merge branch 'YosysHQ:main' into main 2025-08-10 22:46:15 -07:00
KrystalDelusion 6c84c4a4fc
extra-builds.yml: Bump nix 2025-08-09 11:19:24 +12:00
Akash Levy 77be4d7be7 Bump Yosys to latest 2025-08-07 17:22:25 -07:00
Krystine Sherwin ab403635e3
CI: Enable source tracking for reusable build
The `test-docs-build` jobs require source tracking enabled to prevent warnings-as-errors.
Also add an extra note to the readme in case users run into the same.
2025-08-06 13:52:13 +12:00
Krystine Sherwin 891a907a30
Add and use ENABLE_HELP_SOURCE
Conditionally include help source tracking to preserve ABI.
Docs builds can (and should) use `ENABLE_HELP_SOURCE` so that the generated sphinx docs can perform default grouping and link to source files.
Regular user-builds don't need the source tracking.
2025-08-06 13:52:13 +12:00
Krystine Sherwin 3959d19291
Reapply "Add groups to command reference"
This reverts commit 81f87ce6ed.
2025-08-06 13:52:12 +12:00
Akash Levy 347d7b6524
Merge branch 'YosysHQ:main' into main 2025-08-04 15:28:01 -07:00
Miodrag Milanović 86ef7f7ede
Update wheels to Trusted Publisher 2025-08-04 17:43:03 +02:00
N. Engelhardt 81f87ce6ed
Revert "Add groups to command reference" 2025-07-23 14:41:49 +00:00
Krystine Sherwin 4722b07485
Docs: docs/source/cmd is source only
i.e. we don't need to clean it, and we don't need to include it in the docs artifact
2025-07-21 10:34:54 +12:00
Akash Levy a38d4da5c9 Comment out sanitizer 2025-07-05 03:35:37 -07:00
Akash Levy 3d4bf57745 Merge from upstream 2025-07-02 11:25:18 -07:00
Krystine Sherwin e6961d8c9f
CI: Test with ASAN as well
New matrix variable for sanitizer, running `undefined` and `address` separately
(because they are mutually exclusive).  Probably don't need to run both
sanitizers on both os targets, but it's probably fine.
2025-06-28 11:33:18 +12:00
Akash Levy 958112bcb0
Merge branch 'YosysHQ:main' into main 2025-06-11 03:26:14 -07:00
Miodrag Milanovic a5edbc8836 Update CI, windows-2019 is deprecated 2025-06-09 19:07:53 +02:00
Akash Levy 135570020e Fix CodeQL 2025-05-07 22:48:01 -07:00
Akash Levy 0a76067801 Add some stuff back 2025-04-28 18:44:58 -07:00
Akash Levy f7a981e23d Disable test-docs-build 2025-04-21 17:36:35 -07:00
Akash Levy 5f5ed1b29e Merge upstream yosys 2025-04-21 17:36:24 -07:00
Miodrag Milanovic c79379db02 Run wheels each Sunday at 10AM 2025-04-14 15:22:38 +02:00
Miodrag Milanović 9f25f972dc
Merge pull request #5008 from donn/wheel_builds_fix
wheels: fix builds, add linux aarch64 to ci
2025-04-14 15:10:37 +02:00
KrystalDelusion a2e1d0165f
Merge pull request #5016 from YosysHQ/krys/zizmor
CI: Fixes from zizmor
2025-04-12 09:02:59 +12:00
Donn 2bc2105d82 wheels: fix builds, add linux aarch64 to ci
Essentially, something is attempting to build the Yosys EXE when you build libyosys.so now. With `ENABLE_PYTHON_CONFIG_EMBED=0`, the Yosys EXE will always fail to build.

Furthermore, because `ENABLE_PYOSYS` now attempts to build a wheel, building a wheel has become recursive.

This commit uses a supplementary set of libs for the EXE (EXE_LIBS) so it and libyosys.so can be built simultaneously, as well as a new Makefile flag, `ENABLE_WHEEL`, to prevent the aforementioned recursion.

I also enabled aarch64 Linux in the CI because it's publicly available now.
2025-04-09 10:42:40 +02:00
Akash Levy 993b23e747 Merge upstream 2025-02-03 09:33:16 -08:00
Catherine f5c53a99e7 CI: Sanitize for undefined behavior. 2025-02-03 10:19:19 +01:00
Akash Levy bd439fc524 Reapply "Merge upstream"
This reverts commit e73d51dbf0.
2025-01-23 13:40:32 -08:00
Akash Levy e73d51dbf0 Revert "Merge upstream"
This reverts commit c58a50f880, reversing
changes made to a1c3c98773.
2025-01-21 05:28:36 -08:00
Akash Levy c58a50f880 Merge upstream 2025-01-21 04:36:34 -08:00
KrystalDelusion 90b1ccf67b
test-compile: Set oldest clang to 10
clang-11 through clang-16 fail under 24.04, but clang-10 works, so we can move that up to the oldest supported and drop the extra target for ubuntu-20.04
2025-01-20 11:57:47 +13:00
KrystalDelusion 2403c406fb
test-compile: Update latest clang
Use clang-19 as latest
2025-01-20 11:21:17 +13:00
KrystalDelusion 37acfce8c4
test-compile: Update oldest clang for 24.04
Oldest clang on 24.04 appears to be 16.
2025-01-20 11:07:40 +13:00
Akash Levy ef710eda5c Fix CodeQL workflow 2025-01-16 20:26:43 -08:00
Akash Levy 1188edeabc Use environment setup for CodeQL 2025-01-16 19:57:22 -08:00
Akash Levy 81f30593cb Fix actions deps 2025-01-16 19:34:20 -08:00
Akash Levy 54c69f1fed Try again 2025-01-16 16:03:00 -08:00
Akash Levy a4d2776647 Fix tcl-tk stuff for mac 2025-01-16 14:45:58 -08:00
Akash Levy de0b6cfabc Use good make 2025-01-16 12:15:29 -08:00
Akash Levy 53be1f8617 Fixes to build flow 2025-01-16 11:41:48 -08:00
Akash Levy 090e8de6d7 Bundle install 2025-01-15 17:22:21 -08:00
Akash Levy 78a510ca54 Try again 2025-01-15 17:17:41 -08:00
Akash Levy 8dabfbe429 Try again 2025-01-15 16:50:44 -08:00
alaindargelas bd3bfa1a8b
Merge pull request #43 from alaindargelas/lib_dwarf_fix
Lib dwarf fix
2025-01-15 16:47:24 -08:00
Alain Dargelas 25c6450e68 Lib dwarf 2025-01-15 16:46:05 -08:00
Alain Dargelas 2c1824b07d Lib dwarf 2025-01-15 16:43:28 -08:00
Akash Levy fb1baceb83 Try again 2025-01-15 16:42:57 -08:00
Alain Dargelas d83cf40b2a Merge branch 'main' into lib_dwarf_fix 2025-01-15 16:42:08 -08:00
Alain Dargelas d56255dd7b Lib dwarf 2025-01-15 16:40:26 -08:00
Akash Levy 2efcb9e04d Add libnsl 2025-01-15 16:35:25 -08:00
Akash Levy ef96cc47e1 Install all needed dependencies 2025-01-15 16:33:19 -08:00
Alain Dargelas f323bb0f99 Dwarf lib 2025-01-15 16:29:25 -08:00
Krystine Sherwin e609a59325
CI: Fixes from zizmor
> A static analysis tool for Github Actions
https://github.com/woodruffw/zizmor

Mostly means adding `persist-credentials: false` to checkouts and replacing `{{ env.VARNAME }}` with shell substitution.
2024-12-12 15:59:16 +13:00
Akash Levy 6e88c689f2
Merge branch 'YosysHQ:main' into main 2024-12-01 12:32:07 -05:00
KrystalDelusion 1e0e367aed
test-compile: Drop back to gcc-13 2024-11-26 10:18:09 +13:00
KrystalDelusion 6ff5823d6a
test-compile: Use clang-18 and gcc-14
The 'newest' compilers are actually not all that new, they're just the default for the image.  Instead provide explicit versions.
2024-11-26 09:59:52 +13:00
Akash Levy df1f848ed8 Update source vendor 2024-11-05 10:53:01 -08:00
Akash Levy 9ba609a7b0
Merge branch 'YosysHQ:main' into main 2024-10-21 16:28:19 -07:00
Emil J c1907ef5b7
Merge pull request #4668 from YosysHQ/emil/vendor-submodules
actions: vendor sources with submodules for releases
2024-10-21 15:37:51 +02:00
Akash Levy c9e1d08c79 Don't build docs 2024-10-19 18:03:14 -07:00
Akash Levy 66d778aed6 Try again 2024-10-19 17:36:59 -07:00
Akash Levy 9df32b69fd Use SMALL=0 to run full test suite 2024-10-19 17:17:22 -07:00
Akash Levy a05ae175c6 Smallfixes 2024-10-19 16:34:50 -07:00
Akash Levy 3313645fd0 Enable plugins 2024-10-19 16:21:22 -07:00
Akash Levy 1214e8aecd Smallfix to verific dir 2024-10-19 15:34:11 -07:00
Akash Levy 9e1ce1e499 Fixes 2024-10-19 15:14:12 -07:00
Akash Levy 08884ec7e9 Use submodules 2024-10-19 14:58:17 -07:00
Akash Levy e1e57ade57 Fix actions 2024-10-19 14:49:35 -07:00
Akash Levy 858ac2de99 Try again 2024-10-19 14:46:46 -07:00
Akash Levy 210b2198b2 Try again without pyosys 2024-10-19 14:28:21 -07:00
Akash Levy a48897a708 Include ssh keys for submodules 2024-10-19 14:21:46 -07:00
Krystine Sherwin f881ba6200
test-docs-build: Install docs prereqs 2024-10-18 05:38:49 +13:00
Emil J. Tywoniak d29499a10f actions: vendor sources with submodules for releases 2024-10-17 00:11:10 +02:00
Krystine Sherwin d1c6699125
test-docs-build: Use fast runner 2024-10-17 07:15:11 +13:00
Krystine Sherwin 5d14c3017e
test-build.yml: Add test-docs-build
Try use self hosted linux runner to build html and latexpdf to check for errors.
Trying to use the build artifact didn't seem to work, so just run it on its own.
Upload docs/build folder as artifact to enable review without having to build
locally.  Note: doesn't include verific, so will differ slightly from final
published docs.
2024-10-17 06:10:12 +13:00
Krystine Sherwin c93fd54e43
ci: Install docs/reqs (namely, furo-ys) 2024-10-15 11:37:52 +13:00
Mohamed Gaber 3d6b8b8e1a
wheels: fix missing yosys-abc/share directory
* `misc/__init__.py`:
  * checks if there's a `yosys-abc` in the same directory - if yes, sets the variable `sys._pyosys_abc`
  * checks if there's a `share` in the same directory - if yes, sets the variable `sys._pyosys_share_dirname`
* `yosys.cc::init_share_dirname`: check for `sys._pyosys_share_dirname`, use it at the highest priority if Python is enabled
* `yosys.cc::init_abc_executable_name`: check for `sys._pyosys_abc`, use it at at the highest priority if Python is enabled
* `Makefile`: add new target, `share`, to only create the extra targets
* `setup.py`: compile libyosys.so, yosys-abc and share, and copy them all as part of the pyosys build
* `test/arch/ecp5/add_sub.py`: ported `add_sub.ys` to Python to act as a test for the share directory and abc with Python wheels, used in CI
2024-10-09 13:09:14 +03:00
Miodrag Milanović 535b3304cc
Merge pull request #4534 from donn/test_wheels
Pyosys Wheels
2024-10-08 11:24:16 +02:00
Krystine Sherwin c1604424aa
ci: Call make html directly
Since `docs/prep` is a prerequisite of `docs`, and should be the *only* prerequisite, calling `make docs` could end up hiding a problem with files missing from the uploaded artifact. Instead, call `make` from the docs directory which should be closer to what will run on RTDs.
2024-10-08 08:11:35 +13:00
Krystine Sherwin b15103625b
ci: Switch test build docs to our runner 2024-10-08 07:49:14 +13:00