Commit Graph

139 Commits

Author SHA1 Message Date
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
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
Mohamed Gaber d7cf0238fd
wheels: properly migrate to artifact@v4 2024-10-07 20:17:05 +03:00
Mohamed Gaber 0bb1f899e8
wheels: convert versions to match pypa spec, add uploading
* wheel versions now replace `+` with `.post` to match spec at https://packaging.python.org/en/latest/specifications/version-specifiers/
* CI updates:
  * Bump action versions
  * Disabled Windows for now and documented why
  * Added a new job to upload all wheels
  * Added new variable, `PYPI_INDEX`: fallback 'https://pypi.org/' if unset
  * Added new secret, `PYPI_TOKEN`
* .editorconfig now uses 2 spaces for YML (it kept setting mine to tabs
  and GitHub Actions doesn't like that)
2024-10-07 16:39:54 +03:00
Mohamed Gaber 08c23b7632
wheels: skip musllinux for now 2024-10-07 16:39:54 +03:00
Mohamed Gaber 67f17a1c97
wheels: symlink python3-config 2024-10-07 16:39:54 +03:00
Mohamed Gaber ab84c105c1
Add test, shell for windows 2024-10-07 16:39:54 +03:00
Mohamed Gaber ab4ea84679
wheels: more compatibility
* Update manylinux images
* FFI now built as a per-platform static library
* Explicitly set minimum macOS deployment target, use clang on macOS
* Try enabling Windows (as an experiment)
* Disable aarch64-linux, aarch64-windows
2024-10-07 16:39:54 +03:00
Mohamed Gaber 407343a7a1
Pyosys Wheels
* Created `setup.py`: Python package manifest to build `pyosys` wheels with a custom extension to build and include `libyosys.so` using Make
* `.gitignore`: Added byproducts of the Python wheel build process
* `Makefile`: Added `-undefined dynamic_lookup` to `libyosys.so` so missing symbols can be resolved by importing into a Python interpreter
* `kernel/yosys.cc`: Gated `PyImport_AppendInittab` with `!Py_IsInitialized`; as of Python 3.12, the interpreter is already initialized and `PyImport_AppendInittab` would cause an exception to be raised
* Created `wheels.yml`: CI workflow for building wheels for CPython on:
  * Linux (glibc, musl) and Darwin
  * x86-64 and arm64
2024-10-07 16:39:54 +03:00
KrystalDelusion f72d0219d1
Update test-build.yml
Call make docs from root
2024-10-07 22:52:33 +13:00
Krystine Sherwin 33930e44ac
ci: Test build docs 2024-10-07 22:22:10 +13:00
Krystine Sherwin 2e1181a092
ci: Run make docs on PRs 2024-10-07 21:25:15 +13:00
Krystine Sherwin d8038c11d1
Add -j flag to make docs CI 2024-10-07 10:07:17 +13:00
Roland Coeurjoly 5fca9b867d Add Get vcd2fst step to test-yosys job
Co-authored-by: Miodrag Milanovic <mmicko@gmail.com>
Co-authored-by: Roland Coeurjoly <rolandcoeurjoly@gmail.com>
2024-09-30 16:25:32 +02:00
Miodrag Milanović b20df72e1e
Merge pull request #4536 from YosysHQ/functional
Functional Backend
2024-09-06 10:05:04 +02:00
Miodrag Milanovic fc10a6eee2 Run functional tests on private runner only 2024-09-06 08:47:43 +02:00
Krystine Sherwin 25623b1010
ci: test-verific no longer needs special casing 2024-09-03 11:45:00 +12:00
Krystine Sherwin e92de01ab3
ci: Split out prepare-docs 2024-09-03 11:40:47 +12:00
Krystine Sherwin 6c833d83b8
ci: Use docs/prep target 2024-09-03 11:31:06 +12:00
Krystine Sherwin a97d99cbac
ci: Verific skipping conditional on github.ref
Docs jobs should not skip on concurrent jobs (in case a non-docs job is already
running, such as when a commit has been tagged for docs-preview). However, a
successful `test-verific` can allow for a future docs job to skip testing and go
straight to the preview.
2024-09-03 11:29:47 +12:00
Krystine Sherwin a20756676c
ci: Update RTDs trigger conditional
Trigger on main, on a branch called `docs-preview*`, or on any tag.
2024-08-27 10:06:26 +12:00
Krystine Sherwin 83692075df
ci: Don't cancel previous builds
Which is what the comment said, but the code didn't match.
2024-08-27 10:06:26 +12:00
Krystine Sherwin 7d779c64a3
docs: Only trigger RTDs on main 2024-08-20 04:26:58 +12:00
Emil J 9de534892e
Merge pull request #4515 from RCoeurjoly/nix_on_macos
Run nix build also on macos. Build with more logs
2024-08-19 15:49:23 +02:00
Krystine Sherwin 8773cf7721
test-verific: Use fast runner 2024-08-19 21:24:48 +12:00
Krystine Sherwin 7bd3c7b968
Fix test-verific.yml 2024-08-16 10:43:51 +12:00
Krystine Sherwin 3b63ab07ae
docs: Build RTD artifacts directly
Use rtds-action instead of yosys-cmd-ref repo.
Add rtds_action to docs configuration.
Add `.readthedocs.yaml`.
Update `DOCS_USAGE_` make target to be able to use pre-generated executables without forcing a remake.
2024-08-16 10:43:51 +12:00
Krystine Sherwin d709177770
test-compile: Downgrade to focal 2024-08-15 09:44:20 +12:00
Emil J. Tywoniak eeecb54532 Makefile: no LTO and lld by default 2024-08-05 19:28:09 +02:00
Roland Coeurjoly 7e34142965 Run nix build also on macos. Build with more logs 2024-07-30 22:47:30 +02:00
Miodrag Milanovic ead4718e56 Enable extensions for CI 2024-07-09 09:22:37 +02:00
Miodrag Milanovic 141a2e3638 Make C++17 compiler required 2024-06-17 16:55:36 +02:00
Miodrag Milanović 803703a833
Update flake lock workflow
Update workflow so it creates trigger as user so  GitHub Action is triggering actual build
2024-06-02 19:25:05 +02:00
Krystine Sherwin d135c0bf87
extra-builds.yml: Fix indentation 2024-05-24 09:41:31 +12:00
Krystine Sherwin 1aae0bcd40
ci: Move nix build to extra-builds.yml
Skip duplicate actions on nix build.
2024-05-24 09:09:48 +12:00
Roland Coeurjoly 9884bb57a1 Add update flake lock github action 2024-05-13 14:28:32 +02:00
Roland Coeurjoly dd6178c74b Fix nix version to 2.18.1, known working version 2024-05-13 14:21:35 +02:00
Roland Coeurjoly 8c8fb1399c Update github action 2024-05-13 13:53:53 +02:00
Roland Coeurjoly badd803beb
Merge branch 'YosysHQ:main' into nix 2024-05-14 16:23:50 +02:00
Krystine Sherwin 26b148f455
test-build.yml: Remove duplicated yosys-config 2024-05-11 11:28:16 +12:00
Krystine Sherwin 95bd7c9b08
test-build.yml Use pre_docs_job for build-yosys
pre_job will never skip something that is not skipped by pre_docs_job, so we can gate the build step by pre_docs_job to skip it when the two later jobs are both being skipped.
2024-05-11 11:00:58 +12:00
Krystine Sherwin a8bad3060c
test-build.yml: test-docs should not ignore docs changes 2024-05-11 10:51:08 +12:00