diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 7e14169..c80d15b 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -8,22 +8,18 @@ jobs: - name: Install Manta from source run: | - # Make venv - python3 -m venv venv/ - source venv/bin/activate - - # Update pip - python3 -m pip install -U pip - - # omitting the following command causes the version of setuptools + # Omitting the following command causes the version of setuptools # used by python to get confused, and it doesn't detect the name # or version of the package from pyproject.toml - so the following # workaround is used: # https://github.com/pypa/setuptools/issues/3269#issuecomment-1254507377 export DEB_PYTHON_INSTALL_LAYOUT=deb_system - # Install Manta, with optional dev-only dependencies + python3 -m venv venv/ + source venv/bin/activate + python3 -m pip install -U pip python3 -m pip install -e ".[dev]" + python3 -m pip install git+https://github.com/amaranth-lang/amaranth-boards.git - name: Run pre-commit against all files run: | @@ -36,7 +32,8 @@ jobs: source venv/bin/activate make test - - uses: actions/upload-artifact@v4 + - name: Upload coverate reports + uses: actions/upload-artifact@v4 with: name: coverage_reports include-hidden-files: true diff --git a/doc/installation.md b/doc/installation.md index 5fee85a..571f8c3 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -28,7 +28,13 @@ pip install -e ".[dev]" pre-commit install ``` -Manta's hardware-in-the-loop tests rely on Amaranth's build system for programming FPGAs, which in turn rely on the open-source `xc3sprog` and `iceprog` tools for programming Xilinx and ice40 devices, respectively. If you'd like to run these tests locally, you may need to install these tools and have them available on your `PATH`. +Manta's hardware-in-the-loop tests rely on Amaranth's build system for programming FPGAs, which in turn relies on the `amaranth-boards` Python package. This package is not available on PyPI, and must be installed manually with: + +```bash +pip install git+https://github.com/amaranth-lang/amaranth-boards.git +``` + +The build system also uses the open-source `xc3sprog` and `iceprog` tools for programming Xilinx and ice40 devices, respectively. If you'd like to run these tests locally, you may need to install these tools and have them available on your `PATH`. If you're on Linux, you may also need to add a new udev rule to give non-superuser accounts access to any connected FTDI devices. This can be done by making a new file at `/etc/udev/rules.d/99-ftdi-devices.rules`, which contains: diff --git a/pyproject.toml b/pyproject.toml index fb06384..e9ba7e0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ authors = [ description = "A configurable and approachable tool for FPGA debugging and rapid prototyping" readme = "README.md" dependencies = [ - "amaranth[builtin-yosys]==0.5.0", + "amaranth[builtin-yosys]>=0.5.0", "PyYAML", "pyserial", "liteeth==2023.12", @@ -15,6 +15,8 @@ dependencies = [ ] requires-python = ">=3.9" +license = {file = "LICENSE"} +classifiers = ["License :: OSI Approved :: GNU General Public License v3 (GPLv3)"] [project.optional-dependencies] dev = [ @@ -26,11 +28,12 @@ dev = [ "mkdocs-material", "mkdocstrings[python]", "mike", - "amaranth_boards@git+https://github.com/amaranth-lang/amaranth-boards" ] [project.urls] "Homepage" = "https://github.com/fischermoseley/manta" +"Documentation" = "https://fischermoseley.github.io/manta" +"Issues" = "https://github.com/fischermoseley/manta/issues" [project.scripts] manta = "manta:main"