-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #228 from effigies/mnt/pyproject
chore: Transition to pyproject.toml and tox, support numpy 2, python 3.13
- Loading branch information
Showing
11 changed files
with
334 additions
and
291 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
name: Tox | ||
|
||
on: | ||
push: | ||
branches: [ master, main, 'maint/*' ] | ||
tags: [ '*' ] | ||
pull_request: | ||
branches: [ master, main, 'maint/*' ] | ||
schedule: | ||
- cron: '0 0 * * *' | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
permissions: | ||
contents: read | ||
|
||
env: | ||
# Force tox and pytest to use color | ||
FORCE_COLOR: true | ||
TEST_DATA_HOME: /home/runner/testdata/nitransforms-tests | ||
|
||
jobs: | ||
cache-test-data: | ||
if: "!contains(github.event.head_commit.message, '[skip ci]')" | ||
runs-on: ubuntu-latest | ||
outputs: | ||
SHA: ${{ steps.test-head.outputs.SHA }} | ||
steps: | ||
- name: Install the latest version of uv | ||
uses: astral-sh/setup-uv@v3 | ||
- name: Git settings (pacify DataLad) | ||
run: | | ||
git config --global user.name 'NiPreps Bot' | ||
git config --global user.email 'nipreps@gmail.com' | ||
- name: Install DataLad | ||
run: | | ||
$CONDA/bin/conda install -c conda-forge git-annex | ||
uv tool install --with=datalad-next --with=datalad-osf datalad | ||
- name: Check remote HEAD | ||
id: test-head | ||
run: | | ||
git ls-remote https://gin.g-node.org/oesteban/nitransforms-tests \ | ||
| awk '/HEAD/{ print "SHA=" $1 }' >> $GITHUB_OUTPUT | ||
- uses: actions/cache@v4 | ||
with: | ||
path: ${{ env.TEST_DATA_HOME }} | ||
key: data-cache-v2-${{ steps.test-head.outputs.SHA }} | ||
restore-keys: | | ||
data-cache-v2-${{ steps.test-head.outputs.SHA }} | ||
data-cache-v2 | ||
- name: Install test data | ||
run: | | ||
export PATH=$CONDA/bin:$PATH | ||
mkdir -p /home/runner/testdata | ||
datalad install -s https://gin.g-node.org/oesteban/nitransforms-tests $TEST_DATA_HOME | ||
datalad update --merge -d $TEST_DATA_HOME | ||
datalad get -J 2 -d $TEST_DATA_HOME | ||
test: | ||
runs-on: ubuntu-latest | ||
needs: [cache-test-data] | ||
strategy: | ||
matrix: | ||
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | ||
dependencies: [latest, pre] | ||
include: | ||
- python-version: "3.9" | ||
dependencies: min | ||
exclude: | ||
# Do not test pre-releases for versions out of SPEC0 | ||
- python-version: "3.9" | ||
dependencies: pre | ||
- python-version: "3.10" | ||
dependencies: pre | ||
|
||
env: | ||
DEPENDS: ${{ matrix.dependencies }} | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: recursive | ||
fetch-depth: 0 | ||
- name: Install the latest version of uv | ||
uses: astral-sh/setup-uv@v3 | ||
- uses: actions/cache/restore@v4 | ||
with: | ||
path: ${{ env.TEST_DATA_HOME }} | ||
key: data-cache-v2-${{ needs.cache-test-data.outputs.SHA }} | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Display Python version | ||
run: python -c "import sys; print(sys.version)" | ||
- name: Install tox | ||
run: | | ||
uv tool install tox --with=tox-uv --with=tox-gh-actions | ||
- name: Show tox config | ||
run: tox c | ||
- name: Run tox | ||
run: tox -v --exit-and-dump-after 1200 | ||
- uses: codecov/codecov-action@v4 | ||
with: | ||
file: coverage.xml | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
if: ${{ always() }} | ||
|
||
checks: | ||
runs-on: 'ubuntu-latest' | ||
continue-on-error: true | ||
strategy: | ||
matrix: | ||
check: ['style'] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install the latest version of uv | ||
uses: astral-sh/setup-uv@v3 | ||
- name: Show tox config | ||
run: uvx tox c | ||
- name: Show tox config (this call) | ||
run: uvx tox c -e ${{ matrix.check }} | ||
- name: Run check | ||
run: uvx tox -e ${{ matrix.check }} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,21 @@ | ||
# Read the Docs configuration file | ||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details | ||
|
||
version: 2 | ||
|
||
build: | ||
os: ubuntu-20.04 | ||
os: ubuntu-lts-latest | ||
tools: | ||
python: "3.8" | ||
|
||
sphinx: | ||
configuration: docs/conf.py | ||
python: latest | ||
|
||
python: | ||
install: | ||
- path: . | ||
extra_requirements: | ||
- all | ||
- requirements: docs/requirements.txt | ||
jobs: | ||
pre_create_environment: | ||
- asdf plugin add uv | ||
- asdf install uv latest | ||
- asdf global uv latest | ||
# Turn `python -m virtualenv` into `python -c pass` | ||
- truncate --size 0 $( dirname $( uv python find ) )/../lib/python3*/site-packages/virtualenv/__main__.py | ||
post_create_environment: | ||
- uv venv $READTHEDOCS_VIRTUALENV_PATH | ||
# Turn `python -m pip` into `python -c pass` | ||
- truncate --size 0 $( ls -d $READTHEDOCS_VIRTUALENV_PATH/lib/python3* )/site-packages/pip.py | ||
post_install: | ||
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH uv pip install --cache-dir $READTHEDOCS_VIRTUALENV_PATH/../../uv_cache .[niftiext] | ||
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH uv pip install --cache-dir $READTHEDOCS_VIRTUALENV_PATH/../../uv_cache -r docs/requirements.txt |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,5 +4,5 @@ packaging | |
pydot>=1.2.3 | ||
pydotplus | ||
sphinx-argparse | ||
sphinx ~= 4.0 | ||
sphinx_rtd_theme | ||
sphinx~=7.0 | ||
sphinx_rtd_theme |
Oops, something went wrong.