diff --git a/.github/workflows/spec_zero.yml b/.github/workflows/spec_zero.yml index 6a45f2876b6..73a1c6174f3 100644 --- a/.github/workflows/spec_zero.yml +++ b/.github/workflows/spec_zero.yml @@ -60,3 +60,9 @@ jobs: PR_NUM=$(gh pr create --base main --head spec_zero --title "MAINT: Update dependency specifiers" --body "Created by spec_zero [GitHub action](https://github.com/mne-tools/mne-python/actions/runs/${{ github.run_id }}).

*Adjustments may need to be made to shims in \`mne/fixes.py\` in this or another PR. \`git grep TODO VERSION\` is a good starting point for finding potential updates.*" --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' + # TODO add one or more steps here to (re)create the lockfile based on the pins + # found in pyproject.toml. For now, any dependency that has a >= pin should + # become an == pin, and all other pins should be unchanged. Don't forget to + # pin Python version based on the `requires-python` field. Ideally, this step + # should only run if the pins in pyproject.toml have changed (e.g., see how + # we use "dirty" above to make the "Create PR" step conditional). diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 507bf4ebfb1..45b31234f68 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -152,7 +152,10 @@ jobs: python=${{ env.PYTHON_VERSION }} -v if: ${{ !startswith(matrix.kind, 'pip') }} + # TODO this ↑↑↑ will include matrix.kind == 'old' but we no longer want it to timeout-minutes: 20 + # TODO add a step here to install uv or pixi using their provided action + # it should only happen for matrix.kind == 'old' - run: bash ./tools/github_actions_dependencies.sh # Minimal commands on Linux (macOS stalls) - run: bash ./tools/get_minimal_commands.sh diff --git a/tools/github_actions_dependencies.sh b/tools/github_actions_dependencies.sh index f9a60080f4b..50dc24d5af9 100755 --- a/tools/github_actions_dependencies.sh +++ b/tools/github_actions_dependencies.sh @@ -27,6 +27,8 @@ if [ ! -z "$CONDA_ENV" ]; then GROUP="test_extra" EXTRAS="[hdf5]" fi +# TODO add a conditional branch here, that uses uv/pixi to recreate the "old" env +# from its lockfile, activate the env, and exit the bash script elif [[ "${MNE_CI_KIND}" == "pip" ]]; then GROUP="test_extra" EXTRAS="[full-pyside6]" diff --git a/tools/github_actions_env_vars.sh b/tools/github_actions_env_vars.sh index 9f424ae5f48..28326994b24 100755 --- a/tools/github_actions_env_vars.sh +++ b/tools/github_actions_env_vars.sh @@ -15,6 +15,8 @@ if [[ "$MNE_CI_KIND" == "pip"* ]]; then fi else # conda-like echo "Setting conda env vars for $MNE_CI_KIND" + # TODO pull this ↓↓↓ conditional branch out of its parent "else" clause, and + # adjust so it no longer sets a CONDA_ENV environment variable if [[ "$MNE_CI_KIND" == "old" ]]; then echo "CONDA_ENV=tools/environment_old.yml" | tee -a $GITHUB_ENV echo "MNE_IGNORE_WARNINGS_IN_TESTS=true" | tee -a $GITHUB_ENV