-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RF extensions github action to centralize configuration for extensions etc, use pytest for crawler #6914
Conversation
Also adjusted condition, since anything which is != something, could be anything else to match so no need for that hirni comparison afaik
damn it --how did I miss that in crawler own CI... will need to figure out/account for
|
1f62bfe
to
179e452
Compare
Codecov Report
@@ Coverage Diff @@
## maint #6914 +/- ##
==========================================
+ Coverage 90.15% 91.07% +0.92%
==========================================
Files 354 354
Lines 46221 46232 +11
Branches 0 6595 +6595
==========================================
+ Hits 41670 42107 +437
+ Misses 4551 4109 -442
- Partials 0 16 +16
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
ok -- getting there
full output from the run for crawlercd __testhome__
python -m pytest -c ../__extension__/tox.ini -s -v --cov=datalad --pyargs ${DL_PACKAGE}
shell: /usr/bin/bash -e {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/[3](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:3).7.13/x6[4](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:4)
DL_PIP_INSTALLS: mock
DL_REPO: datalad/datalad-crawler
DL_TESTER: pytest
DL_NEED_SINGULARITY:
DL_PACKAGE: datalad_crawler
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/runpy.py", line 8[5](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:5), in _run_code
exec(code, run_globals)
File "/opt/hostedtoolcache/Python/3.7.13/x[6](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:6)4/lib/python3.[7](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:7)/site-packages/pytest/__main__.py", line 5, in <module>
raise SystemExit(pytest.console_main())
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/_pytest/config/__init__.py", line 1[8](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:8)7, in console_main
code = main()
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/_pytest/config/__init__.py", line 145, in main
config = _prepareconfig(args, plugins)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/_pytest/config/__init__.py", line 325, in _prepareconfig
pluginmanager=pluginmanager, args=args
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pluggy/_hooks.py", line 265, in __call__
return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pluggy/_manager.py", line 80, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pluggy/_callers.py", line 55, in _multicall
gen.send(outcome)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/_pytest/helpconfig.py", line 102, in pytest_cmdline_parse
config: Config = outcome.get_result()
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pluggy/_result.py", line 60, in get_result
raise ex[1].with_traceback(ex[2])
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pluggy/_callers.py", line 3[9](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:9), in _multicall
res = hook_impl.function(*args)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/_pytest/config/__init__.py", line [10](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:10)16, in pytest_cmdline_parse
self.parse(args)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/_pytest/config/__init__.py", line 1304, in parse
self._preparse(args, addopts=addopts)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/_pytest/config/__init__.py", line [12](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:13)07, in _preparse
early_config=self, args=args, parser=self._parser
File "/opt/hostedtoolcache/Python/3.7.[13](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:14)/x64/lib/python3.7/site-packages/pluggy/_hooks.py", line 265, in __call__
return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pluggy/_manager.py", line 80, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pluggy/_callers.py", line 60, in _multicall
return outcome.get_result()
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pluggy/_result.py", line 60, in get_result
raise ex[1].with_traceback(ex[2])
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pluggy/_callers.py", line 39, in _multicall
res = hook_impl.function(*args)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pytest_cov/plugin.py", line [14](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:15)9, in pytest_load_initial_conftests
plugin = CovPlugin(options, early_config.pluginmanager)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pytest_cov/plugin.py", line [20](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:21)0, in __init__
self.start(engine.Central)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pytest_cov/plugin.py", line 222, in start
self.cov_controller.start()
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pytest_cov/engine.py", line 44, in ensure_topdir_wrapper
return meth(self, *args, **kwargs)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/pytest_cov/engine.py", line [21](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:22)2, in start
config_file=self.cov_config)
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/coverage/control.py", line [25](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:26)2, in __init__
concurrency=concurrency, context=context,
File "/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/coverage/config.py", line [56](https://github.com/datalad/datalad/runs/7674076733?check_suite_focus=true#step:13:57)5, in read_coverage_config
raise ConfigError(f"Couldn't read {fname!r} as a config file")
coverage.exceptions.ConfigError: Couldn't read 'tox.ini' as a config file
Error: Process completed with exit code 1. |
@yarikoptic Based on the traceback, it looks like |
ok. But why it is even looking into absent tox.ini locally...? anyways -- it seems it gets worked around by symlinking extension's tox.ini into that directory and using that one. Now I just need to address neuroimaging failing tests I guess. |
actually to resolve mystery -- the reason is due to use of that relative path within tox.ini of the -crawler extension for coverage!
wil test now using |
aed5034
to
868bb48
Compare
…on"s own tox.ini Original form started to accumulate heavy "if" statements and hard to follow logic because of them. Also now we need to refactor to install not from master.zip but to have a clone of the repository so we can get access to extension"s tox.ini. In proposed form I use bash case/esac since it provides best flexibility IMHO to define extension specific settings to be reused in the next steps.
Now that we install .[devel] requirements for extensions, we managed to install heudiconv for neuroimaging, and then testing which was previously skipped started to error out due to absent dcm2niix
868bb48
to
ec409f1
Compare
ok, tox magic didn't help but we reached green state, so i rewrote for shorter history and now without TEMP commits -- ready for review/merge! |
I would like to bring CI into totally green/legit setup, so will proceed with this merge, and prepare merge of maint into master. Comments would still be welcome if someone comes from a vacation ;) |
Also adjusted condition, since anything which is != something, could be anything else
to match so no need for that hirni comparison afaik