Skip to content

apigen Module Versioning

apigen is a separate Go module:

  • module path: github.com/calypr/syfon/apigen
  • module root: syfon/apigen

Local Development

This repo uses syfon/go.work:

use (
  .
  ./apigen
)

So local builds (including Docker builds from syfon/) can resolve apigen without replace directives in go.mod.

Production / CI

Production consumers should pin a real published apigen version in go.mod, for example:

require github.com/calypr/syfon/apigen v0.1.0

Do not rely on replace directives for released builds.

Releasing apigen

From the syfon repository:

  1. Commit generated apigen/* changes.
  2. Tag the submodule version:
git tag apigen/v0.1.0
git push origin apigen/v0.1.0
  1. Bump dependent modules:
# in syfon
go get github.com/calypr/syfon/apigen@v0.1.0
go mod tidy

# in data-client / git-drs (if they import apigen transitively/directly)
go get github.com/calypr/syfon/apigen@v0.1.0
go mod tidy