There seems to be little information around examples and best practices when building an end-to-end pipeline for a Go Lang application that can:
- Calculate next version (ala semantic-release)
- Run all tests
- Build for the different supported platforms ((Linux, FreeBSD, Mac OS X, Windows) * (amd64, 386, arm, s390x, ppc64le))
- Tag and Release in a SCM (github | gitlab | bitbucket)
- Optionally create packages (deb, rpm, snaps, flatpaks, brew taps, Inno Setup).
- Run this integrated in (TravisCI | CircleCI | Jenkins | Bamboo | others)
Is there any documentation, example project at this regard? I've checked some of the more famous Go projects (kubernetes, hashicorp/* and others) and they all seem to leave this part outside of the project.