This repository is hosting modules, each of these modules are independant, they should all have their own:
- Dependencies (handled with go modules)
README.md
CHANGELOG.md
- Versioning through git tags. (Example for
etcd
→ tag will look likeetcd/v1.0.0
)
Bump new version number in:
module/CHANGELOG.md
module/README.md
Commit, tag and create a new release:
module="XXX"
version="X.Y.Z"
git switch --create release/${module}/${version}
git add ${module}/CHANGELOG.md ${module}/README.md
git commit --message="[${module}] Bump v${version}"
git push --set-upstream origin release/${module}/${version}
gh pr create --reviewer=EtienneM --title "$(git log -1 --pretty=%B)"
Once the pull request merged, you can tag the new release.
git tag ${module}/v${version}
git push origin master ${module}/v${version}
With go modules, it's as easy as go get github.com/Scalingo/go-utils/module
For instance:
go get github.com/Scalingo/go-utils/logger
go get github.com/Scalingo/go-utils/logger@v1.0.0
go get github.com/Scalingo/go-utils/logger@<branch name>