diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 462d8a38..057a237a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,8 +26,11 @@ jobs: - name: Install pip dependencies run: | - pip install ruff pytest black mpi4py pyinstrument psutil pytest-lazy-fixtures - pip install -r requirements.txt + pip install -e . + pip install -e .[mpi] + pip install -e .[profiling] + pip install -e .[lint] + pip install -e .[test] pip install -e .[compression] - name: Run ruff (flake8 and pydocstyle) @@ -58,12 +61,10 @@ jobs: - name: Install pip dependencies run: | - pip install h5py - pip install -r requirements.txt - pip install zarr==2.11.3 - pip install mpi4py numcodecs>=0.7.3 bitshuffle - pip install pytest pytest-lazy-fixtures pip install -e . + pip install -e .[mpi] + pip install -e .[compression] + pip install -e .[test] - name: Run serial tests run: pytest --doctest-modules caput/ @@ -94,8 +95,8 @@ jobs: - name: Install pip dependencies run: | - pip install .[doc] pip install -e . + pip install -e .[doc] - name: Build sphinx docs run: sphinx-build -W -b html doc/ doc/_build/html diff --git a/pyproject.toml b/pyproject.toml index d9b09578..52e139dc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,6 +45,8 @@ mpi = ["mpi4py>=1.3"] compression = ["bitshuffle", "numcodecs>=0.7.3", "zarr>=2.11.0"] profiling = ["pyinstrument"] doc = ["Sphinx>=5.0", "sphinx_rtd_theme", "funcsigs", "mock"] +lint = ["ruff", "black"] +test = ["pytest", "pytest-lazy-fixtures"] [project.urls] Documentation = "https://caput.readthedocs.io/"