From 93e517f62fa70553b7dc1731742daff1cf73f866 Mon Sep 17 00:00:00 2001 From: Echedey Luis <80125792+echedey-ls@users.noreply.github.com> Date: Fri, 23 Oct 2026 13:08:42 +0200 Subject: [PATCH 1/4] Update action major versions --- .github/workflows/asv_check.yml | 4 ++-- .github/workflows/flake8.yml | 4 ++-- .github/workflows/publish.yml | 8 ++++---- .github/workflows/pytest-remote-data.yml | 8 ++++---- .github/workflows/pytest.yml | 8 ++++---- .github/workflows/top-ranked-issues.yml | 4 ++-- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/asv_check.yml b/.github/workflows/asv_check.yml index 20fe093d17..e1046b4aa2 100644 --- a/.github/workflows/asv_check.yml +++ b/.github/workflows/asv_check.yml @@ -16,12 +16,12 @@ jobs: shell: bash -el {0} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 with: fetch-depth: 0 - name: Install Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 with: python-version: '3.12' diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 11718c37a4..a5a4015978 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -6,9 +6,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout source - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Install Python 3.12 - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 with: python-version: '3.12' - name: Install Flake8 5.0.4 linter diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2b8034387d..be28c5e6e9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,12 +15,12 @@ jobs: runs-on: ubuntu-latest steps: # fetch all commits and tags so versioneer works - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 with: # Python version should be the minimum supported version python-version: "3.11" @@ -50,7 +50,7 @@ jobs: working-directory: ./tmp - name: Store the distribution packages - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: python-package-distributions path: dist/ @@ -67,7 +67,7 @@ jobs: steps: - name: Download all dist files - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: python-package-distributions path: dist/ diff --git a/.github/workflows/pytest-remote-data.yml b/.github/workflows/pytest-remote-data.yml index f0ce8c04c3..8437a3af3a 100644 --- a/.github/workflows/pytest-remote-data.yml +++ b/.github/workflows/pytest-remote-data.yml @@ -66,7 +66,7 @@ jobs: if: (github.event_name == 'pull_request_target' && contains(github.event.pull_request.labels.*.name, 'remote-data')) || (github.event_name == 'push') steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 if: github.event_name == 'pull_request_target' # pull_request_target runs in the context of the target branch (pvlib/main), # but what we need is the hypothetical merge commit from the PR: @@ -74,11 +74,11 @@ jobs: ref: "refs/pull/${{ github.event.number }}/merge" allow-unsafe-pr-checkout: true # see above discussion; manual triggering makes this ok - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 if: github.event_name == 'push' - name: Set up conda environment - uses: conda-incubator/setup-miniconda@v3 + uses: conda-incubator/setup-miniconda@v4 with: activate-environment: test_env environment-file: ${{ env.REQUIREMENTS }} @@ -108,7 +108,7 @@ jobs: - name: Upload coverage to Codecov if: matrix.python-version == '3.11' && matrix.suffix == '' - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v7 with: fail_ci_if_error: true verbose: true diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index fc5dd0e49e..a178e2b71c 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -31,7 +31,7 @@ jobs: steps: # We check out only a limited depth and then pull tags to save time - name: Checkout source - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: fetch-depth: 100 @@ -40,7 +40,7 @@ jobs: - name: Install Conda environment with Micromamba if: matrix.environment-type == 'conda' - uses: mamba-org/setup-micromamba@v2 + uses: mamba-org/setup-micromamba@v3 with: environment-file: ${{ env.REQUIREMENTS }} cache-downloads: false @@ -61,7 +61,7 @@ jobs: - name: Install bare Python ${{ matrix.python-version }}${{ matrix.suffix }} if: matrix.environment-type == 'bare' - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 with: python-version: ${{ matrix.python-version }} @@ -84,7 +84,7 @@ jobs: - name: Upload coverage to Codecov if: matrix.python-version == '3.11' && matrix.suffix == '' && matrix.os == 'ubuntu-latest' && matrix.environment-type == 'conda' - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v7 with: fail_ci_if_error: true verbose: true diff --git a/.github/workflows/top-ranked-issues.yml b/.github/workflows/top-ranked-issues.yml index 5845691d34..3c2e914047 100644 --- a/.github/workflows/top-ranked-issues.yml +++ b/.github/workflows/top-ranked-issues.yml @@ -17,10 +17,10 @@ jobs: steps: - name: Check out the repository - uses: actions/checkout@v4 # This ensures the repository code is available + uses: actions/checkout@v7 # This ensures the repository code is available - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 with: python-version: "3.12" From bd4581dd6acbea41bd53c5d8e331b03372285ae6 Mon Sep 17 00:00:00 2001 From: Echedey Luis <80125792+echedey-ls@users.noreply.github.com> Date: Fri, 23 Oct 2026 13:09:32 +0200 Subject: [PATCH 2/4] Reorder python= conda version requirement to the top of files for readability --- ci/requirements-py3.11-min.yml | 2 +- ci/requirements-py3.11.yml | 2 +- ci/requirements-py3.12.yml | 2 +- ci/requirements-py3.13.yml | 2 +- ci/requirements-py3.14.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ci/requirements-py3.11-min.yml b/ci/requirements-py3.11-min.yml index 1cea3732ad..4cf69279f5 100644 --- a/ci/requirements-py3.11-min.yml +++ b/ci/requirements-py3.11-min.yml @@ -3,13 +3,13 @@ channels: # - defaults # not supported by mamba - conda-forge dependencies: + - python=3.11 - coveralls - pip - pytest - pytest-cov - pytest-mock - pytest-timeout - - python=3.11 - pytz - requests - pip: diff --git a/ci/requirements-py3.11.yml b/ci/requirements-py3.11.yml index f3eb4061f6..aad949bde3 100644 --- a/ci/requirements-py3.11.yml +++ b/ci/requirements-py3.11.yml @@ -3,6 +3,7 @@ channels: # - defaults # not supported by mamba - conda-forge dependencies: + - python=3.11 - coveralls - cython - ephem @@ -18,7 +19,6 @@ dependencies: - pytest-timeout - pytest-rerunfailures - conda-forge::pytest-remotedata # version in default channel is old - - python=3.11 - pytz - requests - scipy >= 1.7.2 diff --git a/ci/requirements-py3.12.yml b/ci/requirements-py3.12.yml index d43be0a995..162ee06ddc 100644 --- a/ci/requirements-py3.12.yml +++ b/ci/requirements-py3.12.yml @@ -3,6 +3,7 @@ channels: # - defaults # not supported by mamba - conda-forge dependencies: + - python=3.12 - coveralls - cython - ephem @@ -18,7 +19,6 @@ dependencies: - pytest-timeout - pytest-rerunfailures - conda-forge::pytest-remotedata # version in default channel is old - - python=3.12 - pytz - requests - scipy >= 1.7.2 diff --git a/ci/requirements-py3.13.yml b/ci/requirements-py3.13.yml index 6ea6545572..76aa760b2a 100644 --- a/ci/requirements-py3.13.yml +++ b/ci/requirements-py3.13.yml @@ -3,6 +3,7 @@ channels: # - defaults # not supported by mamba - conda-forge dependencies: + - python=3.13 - coveralls - cython - ephem @@ -18,7 +19,6 @@ dependencies: - pytest-timeout - pytest-rerunfailures - conda-forge::pytest-remotedata # version in default channel is old - - python=3.13 - pytz - requests - scipy >= 1.7.2 diff --git a/ci/requirements-py3.14.yml b/ci/requirements-py3.14.yml index 095006018b..5a0062b673 100644 --- a/ci/requirements-py3.14.yml +++ b/ci/requirements-py3.14.yml @@ -3,6 +3,7 @@ channels: # - defaults # not supported by mamba - conda-forge dependencies: + - python=3.14 - coveralls - cython - ephem @@ -18,7 +19,6 @@ dependencies: - pytest-timeout - pytest-rerunfailures - conda-forge::pytest-remotedata # version in default channel is old - - python=3.14 - pytz - requests - scipy >= 1.7.2 From 2f6796b4ea648ddc7d83af3bb8075cea18d48898 Mon Sep 17 00:00:00 2001 From: Echedey Luis <80125792+echedey-ls@users.noreply.github.com> Date: Fri, 23 Oct 2026 13:28:58 +0200 Subject: [PATCH 3/4] Add numba back as tests dependency 0.68 at least is available: https://anaconda.org/channels/conda-forge/packages/numba/files --- ci/requirements-py3.14.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/requirements-py3.14.yml b/ci/requirements-py3.14.yml index 5a0062b673..6c116fcad4 100644 --- a/ci/requirements-py3.14.yml +++ b/ci/requirements-py3.14.yml @@ -8,7 +8,7 @@ dependencies: - cython - ephem - h5py - # - numba # not available for py 3.14 as of 2025-11-03 + - numba - numpy >= 1.21.2 - pandas >= 1.3.3 - pip From 1cc36e83bed75e48547dc8964534be45cf677f70 Mon Sep 17 00:00:00 2001 From: Echedey Luis <80125792+echedey-ls@users.noreply.github.com> Date: Sun, 25 Oct 2026 23:39:31 +0100 Subject: [PATCH 4/4] Switch pytest-remote-data.yml from miniconda to micromambla like pytest.yml --- .github/workflows/pytest-remote-data.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pytest-remote-data.yml b/.github/workflows/pytest-remote-data.yml index 8437a3af3a..51af2e4ac7 100644 --- a/.github/workflows/pytest-remote-data.yml +++ b/.github/workflows/pytest-remote-data.yml @@ -78,12 +78,15 @@ jobs: if: github.event_name == 'push' - name: Set up conda environment - uses: conda-incubator/setup-miniconda@v4 + uses: mamba-org/setup-micromamba@v3 with: - activate-environment: test_env environment-file: ${{ env.REQUIREMENTS }} - python-version: ${{ matrix.python-version }} - auto-activate-base: false + cache-downloads: false + cache-environment: false + create-args: >- + python=${{ matrix.python-version }} + condarc: | + channel-priority: flexible env: # build requirement filename. First replacement is for the python # version, second is to add "-min" if needed @@ -91,7 +94,7 @@ jobs: - name: List installed package versions shell: bash -l {0} # necessary for conda env to be active - run: conda list + run: micromamba list - name: Run tests shell: bash -l {0} # necessary for conda env to be active