Skip to content
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

Simple method for keeping repos in sync with current cookiecutter scheme? #81

Open
jchodera opened this issue Jun 1, 2019 · 5 comments

Comments

@jchodera
Copy link

jchodera commented Jun 1, 2019

I wonder if there might be some way to help automate the update process for ensuring that repos created with the cookiecutter remain up to date with the latest best practices. Right now, the process is manual and somewhat tedious, with the potential for missing updates to some files.

Any thoughts on how we might be able to help make this process simpler, or automate the update step?

@jchodera
Copy link
Author

jchodera commented Jun 1, 2019

Also, I wonder if it would be useful to have versioned releases?

@dgasmith
Copy link
Collaborator

dgasmith commented Jun 1, 2019

We do have a loose version tag via YAML bumps here. It may be worth adding another bump.

@Lnaden and I have discussed this before as something we would like to do:

  • For automated bots, the short is that while we know how to do it, the creation and upkeep is a bit beyond our currently available time. We would need about two weeks for the initial bot and a running 0.05-0.1 FTE for upkeep.
  • A slightly more manual process would have similar upfront requirements without a small long-term cost.

This project is more of a spare time hobby than an officially endorsed project so it would be hard to find the time to do something like this. We can likely advise on the creation of the bots however.

@jchodera
Copy link
Author

jchodera commented Jun 2, 2019

I was thinking a manual process would be great for now, but an automated process (where a bot opens upgrade PRs, perhaps?) would be awesome for the future.

This project is more of a spare time hobby than an officially endorsed project

Just wanted to relay my thanks to those of you building and maintaining this project. So far, this appears to be the most popular project MolSSI hosts, even if it isn't an "official" project:
image3
By my count, there are 227 public projects on GitHub using this cookiecutter, which puts a lower bound on the number of actual users so far:
image2

@dgasmith
Copy link
Collaborator

dgasmith commented Jun 3, 2019

Thanks for the support!

We will look into a manual process and see if this feasible in a short amount of time. This should especially be true for the static files and the ability to update structured files like YAML should be straightforward.

@chfw
Copy link

chfw commented Oct 11, 2020

Hi all:

I would like to present a potential solution for your concern here. I frame your issue as an issue for continuous templating: when a child project repo got generated, it wanted to stay in synchronisation with the cookiecutter, because best practices get better over time. It pose a very interesting challenge to a software organisation: outdated information/practice is not a show stopper but a headache in software maintenance.

yehua /'jɛhwa/ is yet another a project template tool for an organisation. It creates a project skeleton, S from the default project template, T, of an organisation. moban, the other tool of moremoban organisation, keeps S in synchronisation with T forever:

yehua-story

Both tools have been deployed with these organisations: pyexcel, moremoban and coala. Please take your steps there while you do the evaluation.

With your cookiecutter template, here is what yehua could do:

yehua-cms-demo

What yehua could not do at the time of writing is: pre and post generation plugin But that's a matter of time to get it supported.

What do you think?

chfw added a commit to pyexcel-webwares/pyexcel-webio that referenced this issue Oct 12, 2020
chfw added a commit to pyexcel/libxlsxwpy that referenced this issue Oct 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants