diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7eb5c8e..6faae1b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Testing MNE-Features on Ubuntu 20.04 +name: Testing MNE-Features on the latest Ubuntu on: push: branches: @@ -9,23 +9,35 @@ on: jobs: tests: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest env: - PYTHON_VERSION: '3.8' CONDA_ENV: 'environment.yml' strategy: matrix: - python-version: [ "3.8" ] + python-version: [ "3.10", "3.11", "3.12", "3.13" ] numba: [ "on", "off" ] continue-on-error: true name: python-${{ matrix.python-version }}-numba-${{ matrix.numba }} steps: - - uses: actions/checkout@v2 - - uses: conda-incubator/setup-miniconda@v2 + - uses: actions/checkout@v5 + # Sometimes setup-miniconda shows CondaHTTPError. + # To mitigate, following config is added. + # Jobs may still fail with CondaHTTPError. In than case, re-run the failed jobs. + # Ref: https://github.com/conda-incubator/setup-miniconda/issues/129 + - name: Prepare conda config before installation + run: | + cat < .condarc + remote_max_retries: 10 + remote_backoff_factor: 5 + remote_connect_timeout_secs: 60 + remote_read_timeout_secs: 120 + EOF + - uses: conda-incubator/setup-miniconda@v3 with: activate-environment: 'mne-features' - python-version: ${{ env.PYTHON_VERSION }} + python-version: ${{ matrix.python-version }} environment-file: ${{ env.CONDA_ENV }} + condarc-file: .condarc name: Install Miniconda and create environment - if: ${{ matrix.numba == 'off' }} shell: bash -el {0} @@ -46,6 +58,6 @@ jobs: run: check-manifest --ignore doc,mne_features/*/tests name: Check manifest - name: Upload coverage stats - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v5 with: file: ./coverage.xml diff --git a/environment.yml b/environment.yml index 55e84f2..99f5710 100644 --- a/environment.yml +++ b/environment.yml @@ -2,7 +2,7 @@ name: mne-features channels: - conda-forge dependencies: -- python>=3.8 +- python>=3.10,<3.14 - mne - pip - numpy @@ -14,4 +14,4 @@ dependencies: - PyWavelets - tqdm - pip: - - download \ No newline at end of file + - download diff --git a/setup.py b/setup.py index 5ef89eb..f2d45b8 100644 --- a/setup.py +++ b/setup.py @@ -57,7 +57,7 @@ def package_tree(pkgroot): 'Programming Language :: Python :: 3', ], platforms='any', - python_requires='>=3.6', + python_requires='>=3.10,<3.14', packages=package_tree('mne_features'), install_requires=['numpy', 'scipy', 'numba', 'scikit-learn', 'mne', 'PyWavelets', 'pandas'],