Skip to content

Commit a5a3ec0

Browse files
committed
Merge remote-tracking branch 'upstream/main' into enh/crop_by_annot
* upstream/main: (52 commits) MAINT: Extra test for coreg (mne-tools#10549) BUG: Fix annot meas_date / crop (mne-tools#10491) Update latest.inc Use liblinear solver instead of lbgfs in all decodung examples [skip azp][skip actions] (mne-tools#10552) STY: Hotfix for HTML [ci skip] Allow making inverse solutions from fixed-orientation discrete forward models, enabling multi-dipole modeling (mne-tools#10464) Correct documented default number of CV splits [skip azp][skip actions] (mne-tools#10548) MRG: Add error checking to prevent the creation of montage with invalid [x, y, z] (mne-tools#10547) MRG: Add "verbose" parameter to pick_channels() method (mne-tools#10544) CI: Avoid bad PySide6 (mne-tools#10545) FIX: Flake (mne-tools#10540) FIX: Correct link (mne-tools#10536) DOC: Update installers (mne-tools#10535) ENH: Add dark mode to website (mne-tools#10523) WIP: Copy BEM surfaces by default (don't symlink) (mne-tools#10531) Avoid lowpass=0 in brainvision data (mne-tools#10517) DOC: Update installers [skip azp] [skip actions] (mne-tools#10528) FIX: Fix for old build (mne-tools#10527) Fix line noise at wrong frequencies (mne-tools#10525) FIX : read fids in eeglab (mne-tools#10521) ...
2 parents 324b015 + ac45cbe commit a5a3ec0

File tree

184 files changed

+3958
-7491
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

184 files changed

+3958
-7491
lines changed

.circleci/config.yml

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,14 @@
1111

1212
version: 2.1
1313

14-
_xvfb: &xvfb
15-
name: Start Xvfb virtual framebuffer
16-
command: |
17-
echo "export DISPLAY=:99" >> $BASH_ENV
18-
/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1280x1024x24 -ac +extension GLX +render -noreset -nolisten tcp -nolisten unix
19-
2014
jobs:
2115
build_docs:
2216
parameters:
2317
scheduled:
2418
type: string
2519
default: "false"
2620
docker:
27-
# Use 18.04 rather than 20.04 because MESA 20.0.8 on 18.04 has working
28-
# transparency but 21.0.3 on 20.04 does not!
29-
- image: cimg/base:stable-18.04
21+
- image: cimg/base:stable-20.04
3022
steps:
3123
- restore_cache:
3224
keys:
@@ -95,23 +87,20 @@ jobs:
9587
name: Set BASH_ENV
9688
command: |
9789
set -e
98-
sudo apt update -qq
99-
sudo apt install -qq libosmesa6 libglx-mesa0 libopengl0 libglx0 libdbus-1-3 \
100-
libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 \
101-
libxcb-render-util0 libxcb-shape0 libxcb-xfixes0 libxcb-xinerama0 \
102-
graphviz optipng \
103-
python3.8-venv python3-venv \
104-
xvfb libxft2 ffmpeg
90+
./tools/setup_xvfb.sh
91+
sudo apt install -qq graphviz optipng python3.8-venv python3-venv libxft2 ffmpeg
10592
python3.8 -m venv ~/python_env
10693
echo "set -e" >> $BASH_ENV
10794
echo "export OPENBLAS_NUM_THREADS=4" >> $BASH_ENV
10895
echo "export XDG_RUNTIME_DIR=/tmp/runtime-circleci" >> $BASH_ENV
10996
echo "export MNE_FULL_DATE=true" >> $BASH_ENV
11097
source tools/get_minimal_commands.sh
11198
echo "export MNE_3D_BACKEND=pyvistaqt" >> $BASH_ENV
99+
echo "export MNE_3D_OPTION_MULTI_SAMPLES=1" >> $BASH_ENV
112100
echo "export MNE_BROWSER_BACKEND=qt" >> $BASH_ENV
113101
echo "export MNE_BROWSER_PRECOMPUTE=false" >> $BASH_ENV
114102
echo "export PATH=~/.local/bin/:$PATH" >> $BASH_ENV
103+
echo "export DISPLAY=:99" >> $BASH_ENV
115104
echo "source ~/python_env/bin/activate" >> $BASH_ENV
116105
mkdir -p ~/.local/bin
117106
ln -s ~/python_env/bin/python ~/.local/bin/python
@@ -124,9 +113,6 @@ jobs:
124113
command: |
125114
neuromag2ft --version
126115
127-
- run:
128-
<<: *xvfb
129-
130116
- run:
131117
name: Install fonts needed for diagrams
132118
command: |
@@ -160,8 +146,8 @@ jobs:
160146
- ~/.local/bin
161147

162148
- run:
163-
name: Check PyQt5
164-
command: LD_DEBUG=libs python -c "from PyQt5.QtWidgets import QApplication, QWidget; app = QApplication([])"
149+
name: Check Qt
150+
command: LD_DEBUG=libs python -c "from PySide6.QtWidgets import QApplication, QWidget; app = QApplication([])"
165151

166152
# Load tiny cache so that ~/.mne does not need to be created below
167153
- restore_cache:

.github/workflows/circle_artifacts.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ jobs:
99
with:
1010
repo-token: ${{ secrets.GITHUB_TOKEN }}
1111
artifact-path: 0/dev/index.html
12-
circleci-jobs: build_docs_pr,build_docs_nightly
12+
circleci-jobs: build_docs,build_docs_main
1313
job-title: Check the rendered docs here!

azure-pipelines.yml

Lines changed: 103 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,9 @@ stages:
8989
OPENBLAS_NUM_THREADS: '1'
9090
steps:
9191
- bash: |
92-
sudo apt install libxkbcommon-x11-0 xvfb tcsh libxcb*
92+
set -e
93+
./tools/setup_xvfb.sh
94+
sudo apt install -yq tcsh
9395
displayName: 'Install Ubuntu dependencies'
9496
- bash: |
9597
source tools/get_minimal_commands.sh
@@ -101,21 +103,21 @@ stages:
101103
displayName: 'Test minimal commands'
102104
- task: UsePythonVersion@0
103105
inputs:
104-
versionSpec: '3.8'
106+
versionSpec: '3.9'
105107
architecture: 'x64'
106108
addToPath: true
107109
displayName: 'Get Python'
108-
- bash: |
109-
/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset;
110-
displayName: 'Spin up Xvfb'
111110
- bash: |
112111
set -e
113112
python -m pip install --progress-bar off --upgrade pip setuptools wheel codecov
114-
python -m pip install --progress-bar off mne-qt-browser[opengl]
113+
python -m pip install --progress-bar off mne-qt-browser[opengl] vtk scikit-learn pytest-error-for-skips python-picard "PySide6!=6.3.0" qtpy
115114
python -m pip uninstall -yq mne
116115
python -m pip install --progress-bar off --upgrade -e .[test]
117116
displayName: 'Install dependencies with pip'
118-
- script: mne sys_info -pd
117+
- bash: |
118+
set -e
119+
mne sys_info -pd
120+
mne sys_info -pd | grep "qtpy: .*{PySide6=.*}$"
119121
displayName: Print config
120122
- bash: source tools/get_testing_version.sh
121123
displayName: 'Get testing version'
@@ -126,8 +128,98 @@ stages:
126128
displayName: 'Cache testing data'
127129
- script: python -c "import mne; mne.datasets.testing.data_path(verbose=True)"
128130
displayName: 'Get test data'
129-
- script: pytest -m "ultraslowtest or pgtest" --tb=short --cov=mne --cov-report=xml --cov-report=html -vv mne
130-
displayName: 'Run ultraslow and mne-qt-browser tests'
131+
- script: pytest --error-for-skips -m "ultraslowtest or pgtest" --tb=short --cov=mne --cov-report=xml --cov-report=html -vv mne
132+
displayName: 'slow and mne-qt-browser tests'
133+
# Coverage
134+
- bash: bash <(curl -s https://codecov.io/bash)
135+
displayName: 'Codecov'
136+
condition: succeededOrFailed()
137+
- task: PublishTestResults@2
138+
inputs:
139+
testResultsFiles: '**/junit-*.xml'
140+
testRunTitle: 'Publish test results for $(Agent.JobName)'
141+
failTaskOnFailedTests: true
142+
condition: succeededOrFailed()
143+
- task: PublishCodeCoverageResults@1
144+
inputs:
145+
codeCoverageTool: Cobertura
146+
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
147+
reportDirectory: '$(System.DefaultWorkingDirectory)/**/htmlcov'
148+
149+
- job: Qt
150+
pool:
151+
vmImage: 'ubuntu-20.04'
152+
variables:
153+
DISPLAY: ':99'
154+
OPENBLAS_NUM_THREADS: '1'
155+
TEST_OPTIONS: "--tb=short --cov=mne --cov-report=xml --cov-report=html --cov-append -vv mne/viz/_brain mne/viz/backends mne/viz/tests/test_evoked.py mne/gui"
156+
steps:
157+
- bash: ./tools/setup_xvfb.sh
158+
displayName: 'Install Ubuntu dependencies'
159+
- task: UsePythonVersion@0
160+
inputs:
161+
versionSpec: '3.10'
162+
architecture: 'x64'
163+
addToPath: true
164+
displayName: 'Get Python'
165+
- bash: |
166+
set -e
167+
python -m pip install --progress-bar off --upgrade pip setuptools wheel
168+
python -m pip install --progress-bar off --upgrade --only-binary=\"numpy,scipy,matplotlib\" numpy scipy matplotlib
169+
wget -q https://osf.io/ajder/download -O vtk-9.1.20220406.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
170+
python -m pip install --pre --only-binary ":all:" vtk-9.1.20220406.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
171+
python -c "import vtk"
172+
python -m pip install --progress-bar off --upgrade -r requirements.txt -r requirements_testing.txt -r requirements_testing_extra.txt codecov
173+
python -m pip install -e .
174+
displayName: 'Install dependencies with pip'
175+
- bash: |
176+
set -e
177+
which mne
178+
mne sys_info -pd
179+
mne sys_info -pd | grep "^mne: .*dev0.*$"
180+
displayName: Print config
181+
- bash: source tools/get_testing_version.sh
182+
displayName: 'Get testing version'
183+
- task: Cache@2
184+
inputs:
185+
key: $(testing_version)
186+
path: /home/vsts/mne_data
187+
displayName: 'Cache testing data'
188+
- script: python -c "import mne; mne.datasets.testing.data_path(verbose=True)"
189+
displayName: 'Get test data'
190+
- bash: |
191+
set -e
192+
mne sys_info -pd
193+
mne sys_info -pd | grep "qtpy: .*{PySide6=.*}$"
194+
pytest -m "not slowtest" ${TEST_OPTIONS}
195+
python -m pip uninstall -yq PySide6
196+
displayName: 'PySide6'
197+
- bash: |
198+
set -e
199+
python -m pip install PyQt6
200+
mne sys_info -pd
201+
mne sys_info -pd | grep "^qtpy: .*{PyQt6=.*}$"
202+
pytest -m "not slowtest" ${TEST_OPTIONS}
203+
python -m pip uninstall -yq PyQt6 PyQt6-sip PyQt6-Qt6
204+
displayName: 'PyQt6'
205+
- bash: |
206+
set -e
207+
python -m pip install PySide2
208+
mne sys_info -pd
209+
mne sys_info -pd | grep "^qtpy: .*{PySide2=.*}$"
210+
pytest -m "not slowtest" ${TEST_OPTIONS}
211+
python -m pip uninstall -yq PySide2
212+
displayName: 'PySide2'
213+
# PyQt5 leaves cruft behind, so run it last
214+
- bash: |
215+
set -e
216+
python -m pip install PyQt5
217+
mne sys_info -pd
218+
mne sys_info -pd | grep "^qtpy: .*{PyQt5=.*}$"
219+
pytest -m "not slowtest" ${TEST_OPTIONS}
220+
python -m pip uninstall -yq PyQt5 PyQt5-sip PyQt5-Qt5
221+
displayName: 'PyQt5'
222+
# Coverage
131223
- bash: bash <(curl -s https://codecov.io/bash)
132224
displayName: 'Codecov'
133225
condition: succeededOrFailed()
@@ -165,9 +257,9 @@ stages:
165257
PLATFORM: 'x86-64'
166258
TEST_MODE: 'conda'
167259
PYTHON_VERSION: '3.9'
168-
3.7 pip:
260+
3.9 pip:
169261
TEST_MODE: 'pip'
170-
PYTHON_VERSION: '3.7'
262+
PYTHON_VERSION: '3.9'
171263
3.10 pip pre:
172264
TEST_MODE: 'pip-pre'
173265
PYTHON_VERSION: '3.10'

doc/_static/mne_logo.svg

Lines changed: 864 additions & 174 deletions
Loading

doc/_static/mne_logo_dark.svg

Lines changed: 866 additions & 0 deletions
Loading

doc/_static/mne_logo_small.svg

Lines changed: 82 additions & 80 deletions
Loading

0 commit comments

Comments
 (0)