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

Release tagging mechanics #389

Open
pjbull opened this issue Jun 22, 2024 · 3 comments
Open

Release tagging mechanics #389

pjbull opened this issue Jun 22, 2024 · 3 comments
Assignees

Comments

@pjbull
Copy link
Member

pjbull commented Jun 22, 2024

For changes to defaults, we'll want well structured release mechanics.

This has come up since #387 is proposing changing defaults.

Here's a proposal for release mechanics:

  • Develop feature branches PR'd into master
  • Release regularly following semantic versioning
  • Couple both ccds code + template changes together in a single version number (maybe we split these out later, but lets keep it simple for now)
  • On release workflow, tag commit with version number
  • Publish corresponding ccds package version number to PyPI
  • Default ccds clones the template @ the version tag
  • Add --latest flag to get the latest from master instead

Thoughts?

@chrisjkuch
Copy link
Contributor

I think this sounds quite reasonable to me!

@chrisjkuch
Copy link
Contributor

chrisjkuch commented Aug 2, 2024

One additional thought here after thinking about implementation. tl;dr it might be easier to ask people to -c / --checkout master rather than introduce a new --latest option.

Since ccds wraps around cookiecutter, and cookiecutter is a click CLI, it's relatively easy (if, IMO, not super transparent) to change the default values of various options and parameters (as we already do for the template URL) but seems (to me) relatively less trivial to add new options entirely. Rather than introduce a new option, my opinion is that we might want to just ask people to --checkout master if they want the latest, rather than try to add a new CLI option entirely, and to change the default --checkout option value to whatever the current __version__ of ccds is (like how we do for the template URL).

Thoughts @pjbull? From an implementation strategy perspective, I could add this separately or include as part of #336 (which implements the other parts of the requested workflow).

@pjbull
Copy link
Member Author

pjbull commented Aug 12, 2024

Seems good to me to just go with what exists, thanks!

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