Skip to content

Commit

Permalink
Merge branch 'main' into close
Browse files Browse the repository at this point in the history
  • Loading branch information
hoechenberger authored Jan 27, 2025
2 parents 5901ceb + 3db12ff commit 18149f2
Show file tree
Hide file tree
Showing 567 changed files with 16,199 additions and 5,271 deletions.
9 changes: 8 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,9 @@ jobs:
- restore_cache:
keys:
- data-cache-phantom-kit
- restore_cache:
keys:
- data-cache-ds004388
- run:
name: Get data
# This limit could be increased, but this is helpful for finding slow ones
Expand Down Expand Up @@ -252,7 +255,7 @@ jobs:
name: Check sphinx log for warnings (which are treated as errors)
when: always
command: |
! grep "^.* WARNING: .*$" sphinx_log.txt
! grep "^.*\(WARNING\|ERROR\): " sphinx_log.txt
- run:
name: Show profiling output
when: always
Expand Down Expand Up @@ -393,6 +396,10 @@ jobs:
key: data-cache-phantom-kit
paths:
- ~/mne_data/MNE-phantom-KIT-data # (1 G)
- save_cache:
key: data-cache-ds004388
paths:
- ~/mne_data/ds004388 # (1.8 G)


linkcheck:
Expand Down
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ e39995d9be6fc831c7a4a59f09b7a7c0a41ae315 # 12588, percent formatting
1c5b39ff1d99bbcb2fc0e0071a989b3f3845ff30 # 12603, ruff UP028
b8b168088cb474f27833f5f9db9d60abe00dca83 # 12779, PR JSONs
ee64eba6f345e895e3d5e7d2804fa6aa2dac2e6d # 12781, Header unification
362f9330925fb79a6adc19a42243672676dec63e # 12799, UP038
15 changes: 11 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,20 @@ Again, thanks for contributing!
-->

#### Reference issue
Example: Fixes #1234.
#### Reference issue (if any)

<!-- Example:
Fixes #1234.
-->


#### What does this implement/fix?
Explain your changes.

<!-- Explain your changes. -->


#### Additional information
Any additional information you think is important.

<!-- Any additional information you think is important. -->
4 changes: 3 additions & 1 deletion .github/workflows/autofix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install --upgrade towncrier pygithub gitpython numpy
- run: python ./.github/actions/rename_towncrier/rename_towncrier.py
- run: python ./tools/dev/ensure_headers.py
- uses: autofix-ci/action@dd55f44df8f7cdb7a6bf74c78677eb8acd40cd0a
- uses: autofix-ci/action@551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef
17 changes: 17 additions & 0 deletions .github/workflows/automerge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Bot auto-merge
on: pull_request # yamllint disable-line rule:truthy

jobs:
autobot:
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
# Names can be found with gh api /repos/mne-tools/mne-python/pulls/12998 -q .user.login for example
if: (github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'pre-commit-ci[bot]' || github.event.pull_request.user.login == 'github-actions[bot]') && github.repository == 'mne-tools/mne-python'
steps:
- name: Enable auto-merge for bot PRs
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
3 changes: 3 additions & 0 deletions .github/workflows/check_changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ on: # yamllint disable-line rule:truthy
types: [opened, synchronize, labeled, unlabeled]
branches: ["main"]

permissions:
contents: read

jobs:
changelog_checker:
name: Check towncrier entry in doc/changes/devel/
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/circle_artifacts.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
on: [status] # yamllint disable-line rule:truthy
permissions:
contents: read
statuses: write
jobs:
circleci_artifacts_redirector_job:
if: "${{ startsWith(github.event.context, 'ci/circleci: build_docs') }}"
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
Expand All @@ -48,11 +50,11 @@ jobs:
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
Expand All @@ -61,7 +63,7 @@ jobs:
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
Expand Down
15 changes: 8 additions & 7 deletions .github/workflows/credit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,20 @@ on: # yamllint disable-line rule:truthy
- cron: '0 0 1 * *' # At 00:00 on day-of-month 1
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
update_credit:
permissions:
contents: write
pull-requests: write
name: Update
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ github.token }}
GITHUB_TOKEN: ${{ github.token }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true
- uses: actions/setup-python@v5
with:
python-version: '3.12'
Expand All @@ -37,8 +38,8 @@ jobs:
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git checkout -b credit
git commit -am "MAINT: Update code credit [ci skip]"
git commit -am "MAINT: Update code credit"
git push origin credit
PR_NUM=$(gh pr create --base main --head credit --title "MAINT: Update code credit" --body "Created by \"${{ github.workflow }}\" GitHub action." --label "no-changelog-entry-needed")
echo "Opened https://github.com/mne-tools/mne-python/pulls/${PR_NUM}" >> $GITHUB_STEP_SUMMARY
PR_NUM=$(gh pr create --base main --head credit --title "MAINT: Update code credit" --body "Created by credit [GitHub action](https://github.com/mne-tools/mne-python/actions/runs/${{ github.run_id }})." --label "no-changelog-entry-needed")
echo "Opened https://github.com/mne-tools/mne-python/pull/${PR_NUM}" >> $GITHUB_STEP_SUMMARY
if: steps.status.outputs.dirty == 'true'
2 changes: 2 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.10'
Expand Down
54 changes: 30 additions & 24 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ jobs:
timeout-minutes: 3
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.12'
Expand All @@ -40,8 +42,7 @@ jobs:
pytest:
name: '${{ matrix.os }} / ${{ matrix.kind }} / ${{ matrix.python }}'
needs: style
timeout-minutes: 70
continue-on-error: true
timeout-minutes: 80
runs-on: ${{ matrix.os }}
defaults:
run:
Expand All @@ -54,8 +55,12 @@ jobs:
MNE_CI_KIND: '${{ matrix.kind }}'
CI_OS_NAME: '${{ matrix.os }}'
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
python: '3.13'
kind: pip
- os: ubuntu-latest
python: '3.12'
kind: pip-pre
Expand All @@ -81,43 +86,44 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- run: ./tools/github_actions_env_vars.sh
# Xvfb/OpenGL
- uses: pyvista/setup-headless-display-action@main
- uses: pyvista/setup-headless-display-action@v3
with:
qt: true
pyvista: false
wm: false
# Python (if pip)
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
if: startswith(matrix.kind, 'pip')
# Python (if conda)
- name: Remove numba and dipy
run: | # TODO: Remove when numba 0.59 and dipy 1.8 land on conda-forge
sed -i '/numba/d' environment.yml
sed -i '/dipy/d' environment.yml
sed -i 's/- mne$/- mne-base/' environment.yml
if: matrix.os == 'ubuntu-latest' && startswith(matrix.kind, 'conda') && matrix.python == '3.12'
- uses: mamba-org/setup-micromamba@v1
- name: Fixes for conda
run: |
# For some reason on Linux we get crashes
if [[ "$RUNNER_OS" == "Linux" ]]; then
sed -i "/numba/d" environment.yml
elif [[ "$RUNNER_OS" == "macOS" ]]; then
sed -i "" "s/ - PySide6 .*/ - PySide6 <6.8/g" environment.yml
fi
if: matrix.kind == 'conda' || matrix.kind == 'mamba'
- uses: mamba-org/setup-micromamba@v2
with:
environment-file: ${{ env.CONDA_ENV }}
environment-name: mne
create-args: >-
python=${{ env.PYTHON_VERSION }}
mamba
if: ${{ !startswith(matrix.kind, 'pip') }}
# Make sure we have the right Python
- run: python -c "import platform; assert platform.machine() == 'arm64', platform.machine()"
if: matrix.os == 'macos-14'
- run: ./tools/github_actions_dependencies.sh
- run: bash ./tools/github_actions_dependencies.sh
# Minimal commands on Linux (macOS stalls)
- run: ./tools/get_minimal_commands.sh
if: ${{ startswith(matrix.os, 'ubuntu') }}
- run: ./tools/github_actions_infos.sh
- run: bash ./tools/get_minimal_commands.sh
if: startswith(matrix.os, 'ubuntu') && matrix.kind != 'minimal' && matrix.kind != 'old'
- run: bash ./tools/github_actions_infos.sh
# Check Qt
- run: ./tools/check_qt_import.sh $MNE_QT_BACKEND
if: ${{ env.MNE_QT_BACKEND != '' }}
- run: bash ./tools/check_qt_import.sh $MNE_QT_BACKEND
if: env.MNE_QT_BACKEND != ''
- name: Run tests with no testing data
run: MNE_SKIP_TESTING_DATASET_TESTS=true pytest -m "not (ultraslowtest or pgtest)" --tb=short --cov=mne --cov-report xml -vv -rfE mne/
if: matrix.kind == 'minimal'
Expand All @@ -126,9 +132,9 @@ jobs:
with:
key: ${{ env.TESTING_VERSION }}
path: ~/mne_data
- run: ./tools/github_actions_download.sh
- run: ./tools/github_actions_test.sh
- uses: codecov/codecov-action@v4
- run: bash ./tools/github_actions_download.sh
- run: bash ./tools/github_actions_test.sh # for some reason on macOS we need to run "bash X" in order for a failed test run to show up
- uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
if: success()
if: success() || failure()
22 changes: 14 additions & 8 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ Adam Li <adam2392@gmail.com> Adam Li <adam2392@Adams-MBP-2.home>
Adam Li <adam2392@gmail.com> Adam Li <adam2392@new-host-2.home>
Alan Leggitt <leggitta3@gmail.com> leggitta <leggitta3@gmail.com>
Alessandro Tonin <alessandro.tonin@wysscenter.ch> Lychfindel <58313635+Lychfindel@users.noreply.github.com>
Alex Lepauvre <alex.lepauvre@ae.mpg.de> Alex lepauvre <alex.lepauvre@ae.mpg.de>
Alex Rockhill <aprockhill206@gmail.com> Alex <aprockhill206@gmail.com>
Alex Rockhill <aprockhill206@gmail.com> Alex <aprockhill@mailbox.org>
Alex Rockhill <aprockhill206@gmail.com> Alex Rockhill <aprock@uw.edu>
Expand Down Expand Up @@ -118,13 +119,15 @@ Fu-Te Wong <zuxfoucault@gmail.com> zuxfoucault <zuxfoucault@yahoo.com.tw>
Félix Raimundo <gamaz3ps@gmail.com> Felix Raimundo <gamaz3ps@gmail.com>
Gansheng Tan <49130176+GanshengT@users.noreply.github.com> Gansheng TAN <49130176+GanshengT@users.noreply.github.com>
Gennadiy Belonosov <7503709+Genuster@users.noreply.github.com> Gennadiy <7503709+Genuster@users.noreply.github.com>
Gennadiy Belonosov <7503709+Genuster@users.noreply.github.com> Genuster <7503709+Genuster@users.noreply.github.com>
Giorgio Marinato <giorgio.marinato@unitn.it> neurogima <76406896+neurogima@users.noreply.github.com>
Giulio Gabrieli <giulio.gabrieli@iit.it>
Guillaume Dumas <deep@introspection.eu> deep-introspection <deep@introspection.eu>
Guillaume Dumas <deep@introspection.eu> Guillaume Dumas <deep-introspection@users.noreply.github.com>
Hakimeh Aslsardroud <hakimeh.aslsardroud@localhost>
Hamid Maymandi <46011104+HamidMandi@users.noreply.github.com> Hamid <46011104+HamidMandi@users.noreply.github.com>
Hasrat Ali Arzoo <hasrat407@gmail.com> hasrat17 <56307533+hasrat17@users.noreply.github.com>
Hongjiang Ye <rubyyhj@gmail.com> YE Hongjiang <hongjiang.ye@outlook.com>
Hongjiang Ye <rubyyhj@gmail.com> YE Hongjiang <rubyyhj@gmail.com>
Hubert Banville <hubert.jbanville@gmail.com> hubertjb <hubert.jbanville@gmail.com>
Hyonyoung Shin <55095699+mcvain@users.noreply.github.com> mcvain <55095699+mcvain@users.noreply.github.com>
Expand All @@ -134,17 +137,18 @@ Ivo de Jong <ivopascal@gmail.com> ivopascal <ivopascal@gmail.com>
Jaakko Leppakangas <jaeilepp@gmail.com> Jaakko Leppakangas <jaeilepp@student.jyu.fi>
Jaakko Leppakangas <jaeilepp@gmail.com> jaeilepp <jaeilepp@gmail.com>
Jaakko Leppakangas <jaeilepp@gmail.com> jaeilepp <jaeilepp@student.jyu.fi>
Jacob Phelan <jacob.phelan.jp@gmail.com>
Jair Montoya <montoya.jair.m@gmail.com> jmontoyam <montoya.jair.m@gmail.com>
Jan Ebert <janpublicebert@posteo.net> janEbert <janpublicebert@posteo.net>
Jan Sedivy <sedivy@rtsoft.cz>
Jan Sosulski <mail@jan-sosulski.de> jsosulski <mail@jan-sosulski.de>
Jean-Baptiste Schiratti <jean.baptiste.schiratti@gmail.com> Jean-Baptiste SCHIRATTI <jean.baptiste.schiratti@gmail.com>
Jean-Remi King <jeanremi.king+github@gmail.com> Jean-Rémi KING <jeanremi.king@gmail.com>
Jean-Remi King <jeanremi.king+github@gmail.com> kingjr <jeanremi.kibng+github@gmail.com>
Jean-Remi King <jeanremi.king+github@gmail.com> kingjr <jeanremi.king+github@gmail.com>
Jean-Remi King <jeanremi.king+github@gmail.com> kingjr <jeanremi.king@gmail.com>
Jean-Remi King <jeanremi.king+github@gmail.com> UMR9752 <jeanremi.king+github@gmail.com>
Jean-Remi King <jeanremi.king+github@gmail.com> UMR9752 <umr9752@umr9752-desktop.(none)>
Jean-Rémi King <jeanremi.king+github@gmail.com> Jean-Rémi KING <jeanremi.king@gmail.com>
Jean-Rémi King <jeanremi.king+github@gmail.com> kingjr <jeanremi.kibng+github@gmail.com>
Jean-Rémi King <jeanremi.king+github@gmail.com> kingjr <jeanremi.king+github@gmail.com>
Jean-Rémi King <jeanremi.king+github@gmail.com> kingjr <jeanremi.king@gmail.com>
Jean-Rémi King <jeanremi.king+github@gmail.com> UMR9752 <jeanremi.king+github@gmail.com>
Jean-Rémi King <jeanremi.king+github@gmail.com> UMR9752 <umr9752@umr9752-desktop.(none)>
Jeff Stout <stoutjd@nih.gov> jstout211 <jstout211@yahoo.com>
Jennifer Behnke <jennifer.behnke@localhost>
Jesper Duemose Nielsen <jdue@dtu.dk> jdue <jdue@dtu.dk>
Expand Down Expand Up @@ -288,8 +292,8 @@ Reza Nasri <reza@ddpo.ir> Reza <qablameh13@gmail.com>
Reza Nasri <reza@ddpo.ir> RezaNasri <rezanasri@outlook.com>
Riessarius Stargardsky <rie.acad@gmail.com>
Roan LaPlante <aestrivex@gmail.com> aestrivex <aestrivex@gmail.com>
Rob Luke <code@robertluke.net> Robert Luke <748691+rob-luke@users.noreply.github.com>
Rob Luke <code@robertluke.net> Robert Luke <mail@robertluke.net>
Robert Luke <code@robertluke.net> Robert Luke <748691+rob-luke@users.noreply.github.com>
Robert Luke <code@robertluke.net> Robert Luke <mail@robertluke.net>
Robert Seymour <robbyseymour@gmail.com>
Robin Tibor Schirrmeister <robintibor@gmail.com> robintibor <robintibor@gmail.com>
Roeland Hancock <rhancock@gmail.com>
Expand Down Expand Up @@ -352,3 +356,5 @@ Yousra Bekhti <yousra.bekhti@gmail.com> Yoursa BEKHTI <yousra.bekhti@gmail.com>
Yousra Bekhti <yousra.bekhti@gmail.com> Yousra BEKHTI <yousra.bekhti@gmail.com>
Yousra Bekhti <yousra.bekhti@gmail.com> yousrabk <yousra.bekhti@gmail.com>
Zhi Zhang <850734033@qq.com> ZHANG Zhi <850734033@qq.com>
Zhi Zhang <850734033@qq.com> ZHANG Zhi <zhi271.zhang@connect.polyu.hk>
Ziyi ZENG <ziyizeng@link.cuhk.edu.cn> ZIYI ZENG <CME1909120@XMU.EDU.MY>
Loading

0 comments on commit 18149f2

Please sign in to comment.