#How do people organize their repo with
1 messages · Page 1 of 1 (latest)
I have a single repo with all the modules I am writing. Each module is in its own directory.
https://github.com/levlaz/daggerverse
I manage versions by using the following tag convention:
[module_name/v0.0.0]
It's been working pretty well for me so far.
its briefly mentioned here: https://docs.dagger.io/api/daggerverse/#semantic-versioning and its the standard Go way of tagging, even though their docs on that are non-existant 🙂
Ahh nice.. Thanks
Do you know if its possible to do minor and major versions as well, creating three tags for each module like my-module/v1, my-module/v1.0 and my-module/v1.0.1
Yeah its possible but what would you want to get from that approach? I find just a single tag has been good enough for me and works perfectly with daggerverse.dev
Every time you bump your module’s version (e.g., with a patch), you also move the corresponding minor and major tags to the new commit. This way, in your upstream modules, you can pin the dependency to v1 or v1.2, and automatically receive the latest patched version the next time it runs, without having to change anything.
I think this pinning part does not quite work that way yet cc @proper wraith you may know better than me 🙂
yeah I wouldn't recommend moving tags. I know github actions has historically recommended that but its bad and they're finally getting away from it. What we need is partial semver matching in the version resolution
Why is it bad ?
github actions used it as a hack to avoid building a version resolution api and distribution for actions (but they have that now and its rolling out), but your dependencies should always be pinned (and ideally immutable) so that a commit of your app is always built the same way. This is both for reliability and supply chain security
same reason the rest of the package managers use go.sum, package-lock.json, etc
Got it.