Skip to content

Test for MNE-Tools actions - #13971

Open
tsbinns wants to merge 152 commits into
mne-tools:mainfrom
tsbinns:test_tools
Open

Test for MNE-Tools actions#13971
tsbinns wants to merge 152 commits into
mne-tools:mainfrom
tsbinns:test_tools

Conversation

@tsbinns

@tsbinns tsbinns commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Testing to get an idea of how the actions being implemented in MNE-Tools behave (mne-tools/mne-tools#20).

@tsbinns

tsbinns commented Jun 27, 2026

Copy link
Copy Markdown
Contributor Author

Have now tested here all the actions implemented so far in mne-tools, save the old env checking.

There are a couple differences between what happens currently and what the actions do, but only cosmetic, nothing that should affect the function. A summary of differences below:

Syncing dependencies to env yaml

  • Formatting of some specifiers/markers changes because the actions uses packaging's Request object to get str reprs, which has its own ordering logic. However, this is just a cosmetic thing, and it still functions as an env file.

Citation generation

  • Action switches to using pyyaml to format CITATION.CFF instead of manually constructing this. However, pyyaml's behaviour is to not indent lists, e.g.:
# `pyyaml` formatting
my-list:
- item

# current formatting
my-list:
  - item

AFAIK, there isn't a way to get pyyaml to add this indentation. Both are valid yaml formats, just a visual thing, but it does produce a big diff to what there is currently.

  • pyyaml also doesn't wrap multi-word strings in quotes, as is currently done, but this isn't required for the yaml to be valid.

  • Action takes keywords from pyproject.toml, which don't match what is currently used in the citation. Idea was to simplify the args that need to be passed to the action (as specifying loads of keywords gets cumbersome) and this info can be encoded in pyproject.toml.

Codemeta generation

  • Action uses keywords encoded in pyproject.toml rather than requiring these to be passed as args, as well as supported OSs (which can be extracted from the classifier field) and package description. Again, just trying to simplify args by using info already encoded somewhere.

  • Action uses json.dump() to construct codemeta.json rather than manually building this. Ends up fixing some indent and spacing inconsistencies in author names. A cosmetic improvement, but does generate a big diff.

@larsoner

Copy link
Copy Markdown
Member

Those whitespace changes would be okay but in its current form this is a bit tough to review since it just shows a diff... WDYT about putting all of those actions in the autofix.ci job? That way all the proposed changes will actually be committed? I think it's the way we'll probably want to use it in practice anyway, and will facilitate seeing the diffs (e.g., with whitespace changes ommitted or not).

@tsbinns
tsbinns marked this pull request as ready for review August 5, 2026 17:07
@tsbinns
tsbinns requested a review from larsoner as a code owner August 5, 2026 17:07
@tsbinns

tsbinns commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

pip-pre failure should be fixed in #14139

@larsoner larsoner left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#14133 does change some of the naming / compound surname stuff. Okay for me to merge that one after this one or vice-versa

Comment thread .github/workflows/tests.yml Outdated
Comment thread .circleci/config.yml
command: |
set -x
./tools/check_qt_import.sh ${MNE_QT_BACKEND}
curl https://raw.githubusercontent.com/mne-tools/mne-tools/main/tools/check_qt_import.sh -o check_qt_import.sh

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CircleCI now uses two files from this repo (here and down in circleci_bash_env.sh). Better maybe to use a standard checkout step to a known directory and then use both from there?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Originally I avoided relying on setup_xvfb.sh being already available for circleci_bash_env.sh, in case there were other packages using this which would need to be updated. However, I subsequently found that only MNE-Conn is using it: #13971 (comment)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we go back to circleci_bash_env.sh assuming setup_xvfb.sh is already present and the only downstream change would be in MNE-Conn, that's easy enough I guess. WDYT?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@larsoner Would you prefer I remove the setup_xvfb.sh curl in circleci_bash_env.sh and fix downstream in MNE-Connecitivity, or can I leave this here?

Comment thread azure-pipelines.yml Outdated
Comment thread azure-pipelines.yml Outdated
Comment thread README.rst
@tsbinns

tsbinns commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

#14133 does change some of the naming / compound surname stuff. Okay for me to merge that one after this one or vice-versa

Sure, happy with either order. Whichever is in a mergeable state first

@larsoner

larsoner commented Aug 7, 2026

Copy link
Copy Markdown
Member

Okay #14133 is in

@tsbinns

tsbinns commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

Okay #14133 is in

Added to the compound surnames in .extendec_metadata.yaml, and will open a PR excluding Lumberbot along with the bash shell changes to mne-tools.

@tsbinns

tsbinns commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

mne-tools/mne-tools#42 fixes the conda env availability for the check-qt-action and removes Lumberbot from codemeta and citation files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants