Many files in this repository are autogenerated by scripts/generate.
Those files are not intended to be modified manually, rather underlying scripts
and/or configuration should be adjusted to either update or produce new files.
In particular generate
produces
- .github/workflows/test-datalad_*.yaml - GitHub workflows to test released versions of the extensions against master branch of DataLad. The rationale: DataLad master branch CI tests against master branch of extensions, so we could coordinate ongoing development of DataLad and its extensions
- README.md - a "dashboard" representing health status (status of testing, currently released versions availability, etc).
This file provides generate
script a specification for which extensions to
produce the GitHub workflows from the
templates/.github/workflows/test-{{extension.name}}.yaml template.
This file expects a dictionary with the key extensions
which should be a list
of extension package names with following optional fields:
apt_depends
- additional Debian packages to be installed usingapt
pypi
- name of the pypi package, if it is different from the nameconda
- name of the conda package, if it is different from the namegithub
- name of the repository if it is different from the name. If this contains a/
it is expected to contain the organization otherwise it's assumed to be underdatalad/
organization on Github.tester
- what test framework to use. Currently either 'nose' or 'pytest'; defaults to 'nose'. Used to generate.travis.yml
Majority of the invocations of generate
are tracked using datalad run
.
After you introduce your changes to either extensions.yaml
or generate
,
commit your changes and either run datalad rerun generate
(there is a generate
tag) or just make
which would run it for you.