diff --git a/.github/workflows/test_publish.yml b/.github/workflows/test_publish.yml index 61da08f..ccdd664 100644 --- a/.github/workflows/test_publish.yml +++ b/.github/workflows/test_publish.yml @@ -10,17 +10,11 @@ jobs: uses: actions/setup-python@v4 with: python-version: '3.10' - - name: Install fpga-tools - uses: YosysHQ/setup-oss-cad-suite@v2 - - name: Setup PDM - uses: pdm-project/setup-pdm@v3 - with: - python-version: '3.10' - name: Install dependencies - run: pdm install -G test + run: pdm install -G test -G ci_test - name: Run test suite run: - pdm test + YOSYS=yowasp-yosys pdm test publish_pypi: if: github.ref == 'refs/heads/main' diff --git a/pdm.lock b/pdm.lock index cb20ce0..3dfacdf 100644 --- a/pdm.lock +++ b/pdm.lock @@ -2,10 +2,10 @@ # It is not intended for manual editing. [metadata] -groups = ["default", "test", "doc", "publish"] +groups = ["default", "test", "doc", "publish", "ci_test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:230b39c780eab245334628d0f84686ba4819e7c07503110a1f8ff3bcf41f481c" +content_hash = "sha256:0cc018b2e8aba8a24d78937643d69c4be4b1cc67f988f06f188603705a275c57" [[package]] name = "alabaster" @@ -20,10 +20,10 @@ files = [ [[package]] name = "amaranth" -version = "0.4.1.dev22" +version = "0.4.1.dev25" requires_python = "~=3.8" git = "https://github.com/amaranth-lang/amaranth" -revision = "ded84fe9d640c1fffa4a089fcb7233319da5ea93" +revision = "d8515807c28a638d359798b56b9a9eaea928857f" summary = "Amaranth hardware definition language" groups = ["default"] dependencies = [ @@ -359,13 +359,27 @@ files = [ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] +[[package]] +name = "click" +version = "8.1.7" +requires_python = ">=3.7" +summary = "Composable command line interface toolkit" +groups = ["ci_test"] +dependencies = [ + "colorama; platform_system == \"Windows\"", +] +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + [[package]] name = "colorama" version = "0.4.6" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" summary = "Cross-platform colored terminal text." -groups = ["doc", "test"] -marker = "sys_platform == \"win32\"" +groups = ["ci_test", "doc", "test"] +marker = "sys_platform == \"win32\" or platform_system == \"Windows\"" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, @@ -622,7 +636,7 @@ name = "importlib-resources" version = "6.1.1" requires_python = ">=3.8" summary = "Read resources from Python packages" -groups = ["default", "publish", "test"] +groups = ["ci_test", "default", "publish", "test"] marker = "python_version < \"3.10\"" dependencies = [ "zipp>=3.1.0; python_version < \"3.10\"", @@ -1223,6 +1237,17 @@ files = [ {file = "pkginfo-1.9.6.tar.gz", hash = "sha256:8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046"}, ] +[[package]] +name = "platformdirs" +version = "3.11.0" +requires_python = ">=3.7" +summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +groups = ["ci_test"] +files = [ + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, +] + [[package]] name = "pluggy" version = "1.3.0" @@ -1793,12 +1818,56 @@ files = [ {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, ] +[[package]] +name = "wasmtime" +version = "15.0.0" +requires_python = ">=3.8" +summary = "A WebAssembly runtime powered by Wasmtime" +groups = ["ci_test"] +files = [ + {file = "wasmtime-15.0.0-py3-none-any.whl", hash = "sha256:24de208dccea948e924b6af23c2b659f08bdd58e4ef5b549e2913a022cef2e50"}, + {file = "wasmtime-15.0.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:137f6880a2a7eeec89ac98b46ef5e7e6082154cbd509926ec80d45a558432a24"}, + {file = "wasmtime-15.0.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:4bfd230624b3972b869b3fae57c605556c00b1acdb18f3d60b5a21dcac5f1670"}, + {file = "wasmtime-15.0.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:79a416bd65468027842a15d21b78b4aa94ecca8281ae9a8d299a7860710882df"}, + {file = "wasmtime-15.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:f74bd2af9dc7af37efae6efd1153377de6f9c43e88728448334eb6b5950718f5"}, + {file = "wasmtime-15.0.0-py3-none-win_amd64.whl", hash = "sha256:fcad612253877a432c8f3c31c35adb521c59315fe6df0a7d7eb9b26a95f588b2"}, +] + +[[package]] +name = "yowasp-runtime" +version = "1.46" +requires_python = "~=3.8" +summary = "Common runtime for YoWASP packages" +groups = ["ci_test"] +dependencies = [ + "importlib-resources; python_version < \"3.9\"", + "platformdirs~=3.0", + "wasmtime<16,>=1.0", +] +files = [ + {file = "yowasp_runtime-1.46-py3-none-any.whl", hash = "sha256:cbfbb0a77d2c82c8ae7381becda9691e19126ce65102778396826a50d5a4d4e8"}, +] + +[[package]] +name = "yowasp-yosys" +version = "0.36.0.8.post620" +summary = "Yosys Open SYnthesis Suite" +groups = ["ci_test"] +dependencies = [ + "click", + "importlib-resources; python_version < \"3.9\"", + "yowasp-runtime~=1.12", +] +files = [ + {file = "yowasp_yosys-0.36.0.8.post620-py3-none-any.whl", hash = "sha256:8d3da114d3c9689623f2fdf59b7abef040016fbc015cd8d973489f223fe851a8"}, +] + [[package]] name = "zipp" version = "3.17.0" requires_python = ">=3.8" summary = "Backport of pathlib-compatible object wrapper for zip files" -groups = ["default", "publish", "test"] +groups = ["ci_test", "default", "publish", "test"] files = [ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, diff --git a/pyproject.toml b/pyproject.toml index cf8110c..f069258 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,6 +30,9 @@ Documentation = "https://apertus-open-source-cinema.github.io/naps/" publish = [ "twine>=4.0.2", ] +ci_test = [ + "yowasp-yosys>=0.36.0.8.post620", +] [tool.pdm.dev-dependencies] test = [ "PiDNG", @@ -56,6 +59,7 @@ requires = ["pdm-backend"] build-backend = "pdm.backend" + [tool.pdm.build] excludes = ["**/.sim_results"]