inveniosoftware / cookiecutter-invenio-module

Cookiecutter template for an Invenio module.
MIT License
5 stars 33 forks source link

RFC versioning template changes #100

Open tiborsimko opened 7 years ago

tiborsimko commented 7 years ago

When a change to an Invenio module is accepted in the cookiecutter template, the change must be usually propagated to all the various Invenio modules for consistency.

The old technique was, roughly, to create issues in respective repositories, so that modules maintainers are aware of the needed change. The module maintainers (or the Invenio "core" team) can then work on propagating the given change to their respective modules according to their respective time schedules and the nature of the change (e.g. its "scriptability").

Some time ago, we discussed with @kaplun that it might be useful to keep a "template "version number" -- perhaps incremental, perhaps SHA1 -- so that module maintainers can see more easily where they are and what has to be done.

A hypothetical example:

This is similar to how DB schema may be numbered in an application to keep track of changes, e.g. think Alembic without the "automatic upgrade" part that the module maintainers must do mostly "manually" here.

WDYT?

lnielsen commented 7 years ago

I think this goes hand in hand with the bigger question of automating as much of the tedious repository maintenance as possible so that maintainers can focus their efforts on where they are really needed. Perhaps we should start collecting examples of what tasks we can automate, this one being the first? Where would an appropriate place be to collect such examples?

krzysztof commented 7 years ago

Where would this version be stored in an Invenio module?

SHA1 of head commit would not require bumping up any numbers on cookiecutter template updates.

jirikuncar commented 7 years ago

It would be also nice to keep the "replay" information in the repository (https://cookiecutter.readthedocs.io/en/latest/advanced/replay.html) together with the template version number.