Closed aaronsteers closed 1 year ago
@aaronsteers with dynamic versioning in place, would users be installing from a git tag instead of the default branch?
@edgarrmondragon If they installed from a branch instead of a tag, depending on how we configure the tool, they'd either get a dirty version (e.g. 1.2.3-dev0.acdf123
), or the nearest tag upstream of the commit they installed from. Installing from a tag would be best, as is already the case imo except when doing rapid development with a new repository.
@WillDaSilva ah, that's nice. So if I understand the use case correctly, once a user publishes a new release & tag from the GitHub UI a workflow is triggered with the following steps:
poetry build
, this will create the assets with the version pulled from the latest tag (created by the release)This seems like a good approach, and we could probably make it even easier for each repo by wrapping the workflow described above in a reusable action.
cc @aaronsteers
@edgarrmondragon Yup. It wouldn't surprise me if such a workflow was already available on the marketplace as an action. It has the benefit of running the workflow for the release/tag itself, so there's no risk of drift between the commit that updates the version, and the commit that gets built into the published wheel/images.
Note that this approach only works if building directly git already works, so it wouldn't, for instance, work for Meltano because we have to build the UI prior to building the wheel.
@kgpayne - It occurs to me that tap-snowflake
and target-snowflake
would be good 'first repos' to try this approach with. What do you think of trying this there with those two repos, and we can use those as a learning opportunity?
Certainly could try it, very low risk no one's using this right now! :D
Closing as complete. For example implementations, see
Fantastic work, @kgpayne ! 🚀
One challenge in maintaining multiple connectors is the tension between:
main
branch.This approach would eliminate the second requirement, so we could in theory release new versions without needing to commit a version bump change back to the repo:
From the readme: