Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feat: migrate cookiecutter templates to copier #1271

Open
kgpayne opened this issue Dec 14, 2022 · 2 comments
Open

feat: migrate cookiecutter templates to copier #1271

kgpayne opened this issue Dec 14, 2022 · 2 comments

Comments

@kgpayne
Copy link
Contributor

kgpayne commented Dec 14, 2022

Feature scope

Other

Description

Copier is "A library and CLI app for rendering project templates", similar to cookiecutter but with enhanced support for code lifecycle management (i.e. updating projects as the template changes).

Providing mechanisms for updating Taps/Targets from a single place will allow us to ship new functionality to existing projects using the SDK, drastically reducing the maintenance burden for the community and ourselves (30+ projects in MeltanoLabs).

@kgpayne kgpayne added kind/Feature New feature or request valuestream/SDK labels Dec 14, 2022
@kgpayne
Copy link
Contributor Author

kgpayne commented Dec 14, 2022

@aaronsteers I had a very brief look at copier, and overall I think it would be a good switch. Some findings:

  • Copier uses git under the hood to manage versioning and update diffs, so prefers to have its own git repo per template (e.g. meltano/copier-singer-tap and meltano/copier-singer-target). This means we could feasibly create these repos and test before deprecating the existing cookiecutters.
  • Copier also uses jinja for templating, so migrating our existing templates should be straight-forward.

Outstanding questions:

  • Is it possible to 'onboard' projects retrospectively? It would be very handy to be able to onboard existing SDK-based Taps/Targets to the new copier templates, so that update would work going forward for those projects.
    • It looks like this might be possible by placing a .copier-answers.yml file in the repo and then calling copier update but it is worth testing this to be sure.

@stale
Copy link

stale bot commented Jul 18, 2023

This has been marked as stale because it is unassigned, and has not had recent activity. It will be closed after 21 days if no further activity occurs. If this should never go stale, please add the evergreen label, or request that it be added.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants