diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 2aacc95..f1378f2 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -23,6 +23,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: actions/setup-python@v5 with: python-version: '3.12' @@ -48,9 +50,10 @@ jobs: - dev - standard python-version: - - "3.9" - "3.10" - "3.11" + - "3.12" + - "3.13" os: - linux - win64 @@ -66,6 +69,10 @@ jobs: install-mode: dev python-version: "3.11" mpi: "true" + exclude: + # ray has no Python 3.13 wheels for Windows + - os: win64 + python-version: "3.13" steps: - if: matrix.install-mode == 'dev' uses: actions/checkout@v4 @@ -97,7 +104,7 @@ jobs: run: echo PYTEST_ADDOPTS="$PYTEST_ADDOPTS --cov --cov-report=xml" >> $GITHUB_ENV - name: Run pytest run: | - pip install pytest # ensure pytest is installed (should do nothing if already present from requirements-dev.txt) + pip install pytest pytest --pyargs parameter_sweep - name: Upload coverage report as job artifact if: matrix.coverage @@ -116,9 +123,7 @@ jobs: src/parameter_sweep/tests/test*parameter_sweep.py \ src/parameter_sweep/loop_tool/tests/test*loop_tool.py \ --no-cov - # merge into single report coverage combine - # convert to XML coverage xml - name: Upload coverage report as job artifact if: matrix.mpi @@ -133,8 +138,9 @@ jobs: needs: [pytest] runs-on: ubuntu-latest steps: - # the checkout step is needed to have access to codecov.yml - uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: actions/download-artifact@v4 with: pattern: coverage-report-* @@ -144,8 +150,6 @@ jobs: fail_ci_if_error: true verbose: true token: ${{ secrets.CODECOV_TOKEN }} - # downgrading after v0.7.0 broke tokenless upload - # see codecov/codecov-action#1487 version: v0.6.0 build-docs: @@ -160,4 +164,4 @@ jobs: with: python-version: '3.11' - run: pip install -r requirements-dev.txt - - run: make -C docs html + - run: make -C docs html \ No newline at end of file diff --git a/README.md b/README.md index 86a0975..7b02fe3 100644 --- a/README.md +++ b/README.md @@ -25,4 +25,8 @@ pytest --pyargs parameter_sweep ```sh black . -``` \ No newline at end of file +``` + +## Known Limitations +- `ray` does not currently provide wheels for Windows + Python 3.13. + Use Python 3.12 on Windows if you need the `ray` extra. \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index cf4fc52..b4eedcd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,8 @@ dependencies = [ ] [project.optional-dependencies] ray = [ - "ray", + "ray; sys_platform != 'win32' and python_version < '3.14'", + "ray; sys_platform == 'win32' and python_version < '3.13'", ] mpi = [ "mpi4py", diff --git a/requirements-dev.txt b/requirements-dev.txt index e628176..be05be6 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -9,4 +9,4 @@ sphinx-rtd-theme==2.0.0 astroid < 4 --editable .[testing,ray] -watertap @ git+https://github.com/watertap-org/watertap@main +watertap @ git+https://github.com/sufikaur/watertap@align-param-sweep-tag