Skip to content

Commit b8e66fd

Browse files
authored
Merge pull request #14 from tsalo/infrastructure
Work on infrastructure
2 parents 244cd72 + 074b393 commit b8e66fd

Some content is hidden

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

41 files changed

+2551
-268
lines changed

.github/dependabot.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: 'github-actions'
4+
directory: '/'
5+
schedule:
6+
interval: 'monthly'
7+
groups:
8+
actions-infrastructure:
9+
patterns:
10+
- 'actions/*'
11+
- package-ecosystem: 'pip'
12+
directory: '/services/datalad'
13+
schedule:
14+
interval: 'monthly'
15+
groups:
16+
pipenv:
17+
patterns:
18+
- '*'

.github/pull_request_template.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<!--
2+
Text in these brackets are comments, and won't be visible when you submit your pull request.
3+
If this is your first contribution, please take the time to read these, in particular the comment
4+
beginning "Welcome, new contributors!".
5+
-->
6+
7+
## Changes proposed in this pull request
8+
9+
<!--
10+
Please describe here the main features / changes proposed for review and integration in fMRIPost-AROMA
11+
If this PR addresses some existing problem, please use GitHub's citing tools
12+
(eg. ref #, closes # or fixes #).
13+
If there is not an existing issue open describing the problem, please consider opening a new
14+
issue first and then link it from here (so the *fMRIPost-AROMA* community has a better understanding
15+
of ongoing development efforts and possible overlaps between contributions).
16+
-->
17+
18+
19+
## Documentation that should be reviewed
20+
<!--
21+
Please summarize here the main changes to the documentation that the reviewers should be aware of.
22+
-->
23+
24+
25+
26+
<!--
27+
Welcome, new contributors!
28+
29+
We ask you to read through the Contributing Guide:
30+
https://github.com/nipreps/fmripost-aroma/blob/master/CONTRIBUTING.md
31+
32+
These are guidelines intended to make communication easier by describing a consistent process, but
33+
don't worry if you don't get it everything exactly "right" on the first try.
34+
35+
To boil it down, here are some highlights:
36+
37+
1) Consider starting a conversation in the issues list before submitting a pull request. The discussion might save you a
38+
lot of time coding.
39+
2) Please use descriptive prefixes in your pull request title, such as "ENH:" for an enhancement or "FIX:" for a bug fix.
40+
(See the Contributing guide for the full set.) And consider adding a "WIP" tag for works-in-progress.
41+
3) Any code you submit will be licensed under the same terms (Apache License 2.0) as the rest of fMRIPost-AROMA.
42+
4) We invite every contributor to add themselves to the `.zenodo.json` file
43+
(https://github.com/nipreps/fmripost-aroma/blob/master/.zenodo.json), which will result in your being listed as an author
44+
at the next release. Please add yourself as the next-to-last entry, just above Russ.
45+
46+
A pull request is a conversation. We may ask you to make some changes before accepting your PR,
47+
and likewise, you should feel free to ask us any questions you have.
48+
49+
-->

.github/workflows/contrib.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Contribution checks
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- maint/*
8+
pull_request:
9+
branches:
10+
- main
11+
- maint/*
12+
13+
defaults:
14+
run:
15+
shell: bash
16+
17+
concurrency:
18+
group: ${{ github.workflow }}-${{ github.ref }}
19+
cancel-in-progress: true
20+
21+
permissions:
22+
contents: read
23+
24+
jobs:
25+
style:
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: actions/checkout@v4
29+
- run: pipx run ruff check .
30+
- run: pipx run ruff format --diff .
31+
32+
codespell:
33+
name: Check for spelling errors
34+
runs-on: ubuntu-latest
35+
36+
steps:
37+
- name: Checkout
38+
uses: actions/checkout@v4
39+
- name: Codespell
40+
uses: codespell-project/actions-codespell@v2

.github/workflows/pre-release.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Pre-release checks
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
defaults:
12+
run:
13+
shell: bash
14+
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.ref }}
17+
cancel-in-progress: true
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
pre-release:
24+
# Check pre-releases of dependencies on stable Python
25+
runs-on: ${{ matrix.os }}
26+
continue-on-error: true
27+
strategy:
28+
matrix:
29+
os: ['ubuntu-latest']
30+
python-version: ['3.10', '3.11', '3.12']
31+
install: ['pip']
32+
check: ['tests']
33+
pip-flags: ['PRE_PIP_FLAGS']
34+
env:
35+
INSTALL_TYPE: ${{ matrix.install }}
36+
CHECK_TYPE: ${{ matrix.check }}
37+
EXTRA_PIP_FLAGS: ${{ matrix.pip-flags }}
38+
OS_TYPE: ${{ matrix.os }}
39+
40+
steps:
41+
- uses: actions/checkout@v4
42+
with:
43+
submodules: recursive
44+
fetch-depth: 0
45+
- name: Install dependencies
46+
run: .maint/ci/install_dependencies.sh
47+
- name: Set up Python ${{ matrix.python-version }}
48+
uses: actions/setup-python@v5
49+
with:
50+
python-version: ${{ matrix.python-version }}
51+
- name: Display Python version
52+
run: python -c "import sys; print(sys.version)"
53+
- name: Create virtual environment
54+
run: .maint/ci/create_venv.sh
55+
- name: Build archive
56+
run: |
57+
source .maint/ci/build_archive.sh
58+
echo "ARCHIVE=$ARCHIVE" >> $GITHUB_ENV
59+
- name: Install fMRIPost-AROMA
60+
run: .maint/ci/install.sh
61+
- name: Install extras
62+
run: .maint/ci/install_extras.sh
63+
- name: Run tests
64+
run: .maint/ci/check.sh
65+
- uses: codecov/codecov-action@v4
66+
with:
67+
file: coverage.xml
68+
token: ${{ secrets.CODECOV_TOKEN }}
69+
if: ${{ always() }}

.github/workflows/stable.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Stable tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- maint/*
8+
- next
9+
pull_request:
10+
branches:
11+
- main
12+
- maint/*
13+
- next
14+
15+
defaults:
16+
run:
17+
shell: bash
18+
19+
concurrency:
20+
group: ${{ github.workflow }}-${{ github.ref }}
21+
cancel-in-progress: true
22+
23+
permissions:
24+
contents: read
25+
26+
jobs:
27+
stable:
28+
# Check each OS, all supported Python, minimum versions and latest releases
29+
runs-on: ${{ matrix.os }}
30+
strategy:
31+
matrix:
32+
os: ['ubuntu-latest']
33+
python-version: ['3.10', '3.11', '3.12']
34+
install: ['pip']
35+
check: ['tests']
36+
pip-flags: ['']
37+
env:
38+
INSTALL_TYPE: ${{ matrix.install }}
39+
CHECK_TYPE: ${{ matrix.check }}
40+
EXTRA_PIP_FLAGS: ${{ matrix.pip-flags }}
41+
OS_TYPE: ${{ matrix.os }}
42+
43+
steps:
44+
- uses: actions/checkout@v4
45+
with:
46+
submodules: recursive
47+
fetch-depth: 0
48+
- name: Install dependencies
49+
run: .maint/ci/install_dependencies.sh
50+
- name: Set up Python ${{ matrix.python-version }}
51+
uses: actions/setup-python@v5
52+
with:
53+
python-version: ${{ matrix.python-version }}
54+
- name: Display Python version
55+
run: python -c "import sys; print(sys.version)"
56+
- name: Create virtual environment
57+
run: .maint/ci/create_venv.sh
58+
- name: Build archive
59+
run: |
60+
source .maint/ci/build_archive.sh
61+
echo "ARCHIVE=$ARCHIVE" >> $GITHUB_ENV
62+
- name: Install fMRIPost-AROMA
63+
run: .maint/ci/install.sh
64+
- name: Install extras
65+
run: .maint/ci/install_extras.sh
66+
- name: Run tests
67+
run: .maint/ci/check.sh
68+
- uses: codecov/codecov-action@v4
69+
with:
70+
file: coverage.xml
71+
token: ${{ secrets.CODECOV_TOKEN }}
72+
if: ${{ always() }}

.gitignore

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,90 @@
1+
.DS_Store
12
.*.swp
23
.mypy_cache
34
.pytest_cache
45
.ruff_cache
56
.coverage
7+
8+
# Byte-compiled / optimized / DLL files
9+
__pycache__/
10+
*.py[cod]
11+
*$py.class
12+
.pytest_cache/
13+
14+
# C extensions
15+
*.so
16+
*.c
17+
18+
# Distribution / packaging
19+
.Python
20+
env/
21+
# build/ # commented due to some strangeness with Docker/circle setup
22+
develop-eggs/
23+
dist/
24+
build/lib*
25+
build/temp*
26+
downloads/
27+
eggs/
28+
.eggs/
29+
lib/
30+
lib64/
31+
parts/
32+
sdist/
33+
var/
34+
*.egg-info/
35+
.installed.cfg
36+
*.egg
37+
pip-wheel-metadata/
38+
39+
# PyInstaller
40+
# Usually these files are written by a python script from a template
41+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
42+
*.manifest
43+
*.spec
44+
45+
# Installer logs
46+
pip-log.txt
47+
pip-delete-this-directory.txt
48+
49+
# Unit test / coverage reports
50+
htmlcov/
51+
.tox/
52+
.coverage
53+
.coverage.*
54+
.cache
55+
nosetests.xml
56+
coverage.xml
57+
*,cover
58+
.hypothesis/
59+
60+
# Translations
61+
*.mo
62+
*.pot
63+
64+
# Django stuff:
65+
*.log
66+
67+
# Sphinx documentation
68+
docs/_build/
69+
build/
70+
71+
# PyBuilder
72+
target/
73+
74+
#Ipython Notebook
75+
.ipynb_checkpoints
76+
77+
# pycharm project settings
78+
.idea
79+
80+
# Spyder project settings
81+
.spyderproject
82+
.spyproject
83+
84+
auth/
85+
secrets.py
86+
local_settings.py
87+
88+
*.swp
89+
90+
_version.py

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ repos:
1111
rev: 23.1.0
1212
hooks:
1313
- id: black
14-
files: ^fmriprep/|^wrapper/
14+
files: ^src/fmripost_aroma/
1515
- repo: https://github.com/pycqa/isort
1616
rev: 5.12.0
1717
hooks:
1818
- id: isort
19-
files: ^fmriprep/|^wrapper/
19+
files: ^src/fmripost_aroma/

Dockerfile

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -103,28 +103,8 @@ RUN apt-get update -qq \
103103
--exclude "fsl/tcl" \
104104
--exclude "fsl/bin/FSLeyes" \
105105
&& find /opt/fsl-6.0.5.1/bin -type f -not \( \
106-
-name "applywarp" -or \
107-
-name "bet" -or \
108-
-name "bet2" -or \
109-
-name "convert_xfm" -or \
110-
-name "fast" -or \
111-
-name "flirt" -or \
112-
-name "fsl_regfilt" -or \
113-
-name "fslhd" -or \
114-
-name "fslinfo" -or \
115-
-name "fslmaths" -or \
116-
-name "fslmerge" -or \
117-
-name "fslroi" -or \
118-
-name "fslsplit" -or \
119-
-name "fslstats" -or \
120-
-name "imtest" -or \
121-
-name "mcflirt" -or \
122106
-name "melodic" -or \
123-
-name "prelude" -or \
124-
-name "remove_ext" -or \
125-
-name "susan" -or \
126-
-name "topup" -or \
127-
-name "zeropad" \) -delete \
107+
-name "susan" -or \) -delete \
128108
&& find /opt/fsl-6.0.5.1/data/standard -type f -not -name "MNI152_T1_2mm_brain.nii.gz" -delete
129109
ENV FSLDIR="/opt/fsl-6.0.5.1" \
130110
PATH="/opt/fsl-6.0.5.1/bin:$PATH" \

0 commit comments

Comments
 (0)