-
Notifications
You must be signed in to change notification settings - Fork 29
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
Need process to manage pinnable release versions #47
Comments
Strawman for discussion:
|
We could have an action similar to https://github.com/MeltanoLabs/tap-dbt/blob/main/.github/workflows/release.yml that only requires pushing a commit with the version bump and then manually create a GitHub release. So a single PR can be used to bump the version, groom the changelog and then the release can be created referencing the PR branch. There's already a MeltanoLabs PyPI token in that repo, and it might make sense to make it an org-level secret if possible. |
@edgarrmondragon - Nice! I just had a look now at the tap-dbt workflow. Probably comes as no surprise that I'm also thinking of how to make this a part of the cookiecutter eventually... 😅 I think part of the hurtle of tap developers getting to "stable" is building their own publish and versioning workflows. When those don't exist (like for my tap-athena WIP), it can create a bad experience for those users who might otherwise feel okay being early adopters. |
The more I read about GitFlow the more I like the idea. In particular the automation it allows:
(from https://nvie.com/posts/a-successful-git-branching-model/) |
@edgarrmondragon - Strangely, this looks exactly like a flow I have built before, and still I did not know this was called "Git Flow". I previously used a "development" or "develop" branch but was not yet sure if we should advocate the same here. After reading that GitFlow is now a fairly well established pattern, I'm inclined to leverage this - or something similar - as our best practice for MeltanoLabs since there's plenty of material on this topic, and post-automation, this is very straightforward to maintain. Here was the most concise summary I could find of the flow, <3 minutes: https://youtu.be/1SXpE08hvGs Adding to the video above, my expectation is that all release flows will be automated with CI -perhaps incrementally automating them but I'm a way that all taps and targets here in MeltanoLabs would basically use the same CI workflow files. Still up for discussion:
|
Update: The hypermodern python template has some automation templates for GitHub release management: https://github.com/cjolowicz/hypermodern-python/tree/master/.github Uses:
This would be the release model, as far as I understand this approach:
What I really like about this model is that we don't require extra commits to the git repo for grooming the changelog, and the release notes of the project then serve that purpose. Still researching: where and how the version bump occurs and is committed back to the main branch. |
This is great! I've also used gitflow in the past and it worked pretty well for us. I agree for this use case its common and well documented so its better than bringing our own workflow. The only thing that I'm not clear on is how keeping Does that make sense? Was that what you guys were thinking or am I misinterpreting anything? |
Theres an issue already for this but I couldnt find it. Do we have any thoughts on what we do it the pypi namespace is already taken for a package? For example the singer-io variant exists for |
The version in pyproject.toml was out of sync with the latest release. I guess the bumping of this version should be part of MeltanoLabs#47.
The version in pyproject.toml was out of sync with the latest release. I guess the bumping of this version should be part of #47.
Closing in favor of #307 and continue using GitHub release notes |
@ericboucher @laurentS @edgarrmondragon
This is a fast-developing tap! We've expanded now to 9 streams and we've got several more on the way.
What can our plan be for efficient management of releases? Kicking off this issue for discussion.
I would love to introduce auto-changelog entries and auto-publish to PyPi if those were feasible. If not auto-generated, then we would need a process to efficiently manage the changelog and release proceses.
The text was updated successfully, but these errors were encountered: