Run `tests.yaml` on macOS
@yarikoptic The tests are failing on macOS because the macOS runners don't have Docker installed. The last time I checked, trying to get Docker working on macOS on GitHub Actions is nothing but pain and relies on no-longer-maintained software.
that's a boomer... I have tried now too with a fork https://github.com/yarikoptic/docker-gh-action-test/actions/runs/9292676996/job/25574092243 but it seems to not start the beast... surprisingly on windows environments docker is natively there! (just can't run linux containers).
I guess let's give up for now :-/
could you please try that "walkthrough" from README on your mac?
bash <(sed -n -e '/^ *#!/,/^```$/p' README.md | grep -v '```')
@yarikoptic It failed on a listener.bind() call with "Invalid argument"; logs:
>> mktemp -d /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T//repro-XXXXXXX
> cd /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T//repro-pOcU0yx
> datalad create -d ds000003-qc -c text2git
[INFO] Running procedure cfg_text2git
[INFO] == Command start (output follows) =====
[INFO] == Command exit (modification check follows) =====
run(ok): /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc (dataset) [/Users/jwodder/.local/virtualenvwrapper/...]
create(ok): . (dataset)
action summary:
create (ok: 1)
run (ok: 1)
> cd ds000003-qc
> datalad install -d . ///repronim/containers
[INFO] Attempting a clone into /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc/containers
[INFO] Attempting to clone from https://datasets.datalad.org/repronim/containers to /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc/containers
[INFO] Attempting to clone from https://datasets.datalad.org/repronim/containers/.git to /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc/containers
[INFO] Start enumerating objects
[INFO] Start counting objects
[INFO] Start compressing objects
[INFO] Start receiving objects
[INFO] Start resolving deltas
[INFO] Completed clone attempts for Dataset(/var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc/containers)
install(ok): containers (dataset)
add(ok): containers (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
> containers/scripts/freeze_versions --save-dataset=. bids-mriqc=0.16.0
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
I: We will be copying/freezing versions in .
I: bids-mriqc -> 0.16.0
> datalad install -d . -s https://github.com/ReproNim/ds000003-demo sourcedata
[INFO] Attempting a clone into /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc/sourcedata
[INFO] Attempting to clone from https://github.com/ReproNim/ds000003-demo to /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc/sourcedata
[INFO] Start enumerating objects
[INFO] Start receiving objects
[INFO] Start resolving deltas
[INFO] Completed clone attempts for Dataset(/var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc/sourcedata)
[INFO] Remote origin not usable by git-annex; setting annex-ignore
[INFO] https://github.com/ReproNim/ds000003-demo/config download failed: Not Found
[INFO] access to 1 dataset sibling s3-PRIVATE not auto-enabled, enable with:
| datalad siblings -d "/private/var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc/sourcedata" enable -s s3-PRIVATE
install(ok): sourcedata (dataset)
add(ok): sourcedata (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
> echo workdir/
> datalad save -m 'Ignore workdir' .gitignore
add(ok): .gitignore (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
> datalad containers-run -n bids-mriqc --input sourcedata --output . '{inputs}' '{outputs}' participant group -w workdir
[INFO] Making sure inputs are available (this may take some time)
[INFO] == Command start (output follows) =====
Unable to find image 'repronim/containers:latest' locally
latest: Pulling from repronim/containers
21c83c524219: Pulling fs layer
2dc7845e76f0: Pulling fs layer
3748650da22b: Pulling fs layer
9d01c8dd1a3d: Pulling fs layer
9d01c8dd1a3d: Waiting
3748650da22b: Download complete
21c83c524219: Verifying Checksum
21c83c524219: Download complete
21c83c524219: Pull complete
2dc7845e76f0: Verifying Checksum
2dc7845e76f0: Download complete
9d01c8dd1a3d: Verifying Checksum
9d01c8dd1a3d: Download complete
2dc7845e76f0: Pull complete
3748650da22b: Pull complete
9d01c8dd1a3d: Pull complete
Digest: sha256:d2f7c5b9153189e1acd532eadd37517912492b87c8b9622ab2f22be3ca6897f8
Status: Downloaded newer image for repronim/containers:latest
240529-21:07:47,857 cli IMPORTANT:
Running MRIQC version 0.16.0:
* BIDS dataset path: /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc/sourcedata.
* Output folder: /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc.
* Analysis levels: ['group', 'participant'].
You are using MRIQC v0.16.0, and a newer version is available: 24.0.0.
Traceback (most recent call last):
File "/usr/local/miniconda/bin/mriqc", line 10, in <module>
sys.exit(main())
File "/usr/local/miniconda/lib/python3.7/site-packages/mriqc/cli/run.py", line 37, in main
with Manager() as mgr:
File "/usr/local/miniconda/lib/python3.7/multiprocessing/context.py", line 56, in Manager
m.start()
File "/usr/local/miniconda/lib/python3.7/multiprocessing/managers.py", line 543, in start
self._process.start()
File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 112, in start
self._popen = self._Popen(self)
File "/usr/local/miniconda/lib/python3.7/multiprocessing/context.py", line 291, in _Popen
return Popen(process_obj)
File "/usr/local/miniconda/lib/python3.7/multiprocessing/popen_forkserver.py", line 35, in __init__
super().__init__(process_obj)
File "/usr/local/miniconda/lib/python3.7/multiprocessing/popen_fork.py", line 20, in __init__
self._launch(process_obj)
File "/usr/local/miniconda/lib/python3.7/multiprocessing/popen_forkserver.py", line 51, in _launch
self.sentinel, w = forkserver.connect_to_new_process(self._fds)
File "/usr/local/miniconda/lib/python3.7/multiprocessing/forkserver.py", line 64, in connect_to_new_process
self.ensure_running()
File "/usr/local/miniconda/lib/python3.7/multiprocessing/forkserver.py", line 118, in ensure_running
listener.bind(address)
OSError: [Errno 22] Invalid argument
[INFO] == Command exit (modification check follows) =====
get(ok): sourcedata/sub-02/anat/sub-02_T1w.nii.gz (file) [from s3-PUBLIC...]
get(ok): sourcedata/sub-02/anat/sub-02_inplaneT2.nii.gz (file) [from s3-PUBLIC...]
get(ok): sourcedata/sub-02/func/sub-02_task-rhymejudgment_bold.nii.gz (file) [from s3-PUBLIC...]
get(ok): sourcedata/sub-13/anat/sub-13_T1w.nii.gz (file) [from s3-PUBLIC...]
get(ok): sourcedata/sub-13/anat/sub-13_inplaneT2.nii.gz (file) [from s3-PUBLIC...]
get(ok): sourcedata/sub-13/func/sub-13_task-rhymejudgment_bold.nii.gz (file) [from s3-PUBLIC...]
get(ok): containers/images/bids/bids-mriqc--0.16.0.sing (file) [from origin...]
run(error): /var/folders/l7/wrkq93d133d8zpn36fmqrq0r0000gn/T/repro-pOcU0yx/ds000003-qc (dataset) [./containers/scripts/singularity_cmd run...]
action summary:
get (notneeded: 2, ok: 7)
run (error: 1)