Start with the github-releases skill. Use this file for the repo-local execution details that supplement that workflow.
make buildOutput: aimgr binary in project root.
make testThis runs: go vet, unit tests, and integration tests. All must pass.
None. Version is managed via Git tags only.
The version in pkg/version/version.go is a placeholder. The actual version is injected at build time via ldflags by GoReleaser:
-X github.com/dynatrace-oss/ai-config-manager/v3/pkg/version.Version={{.Version}}
-X github.com/dynatrace-oss/ai-config-manager/v3/pkg/version.GitCommit={{.ShortCommit}}
-X github.com/dynatrace-oss/ai-config-manager/v3/pkg/version.BuildDate={{.Date}}
Do not manually update version files.
Follow Semantic Versioning:
- Major: Breaking changes to CLI or resource formats
- Minor: New features (new commands, flags, resource types)
- Patch: Bug fixes only
Analyze commits to determine bump:
git log "$(git describe --tags --abbrev=0 2>/dev/null)"..HEAD --pretty=format:"%s" | grep -E "^(feat(\([^)]+\))?:|fix(\([^)]+\))?:|BREAKING)"Rules:
feat:/feat(scope):→ minorfix:/fix(scope):only → patchBREAKING CHANGE:/BREAKING:→ major
- Tests pass:
make test - Build succeeds:
make build - No uncommitted changes:
git status - CHANGELOG.md updated with new version entry
- CI green:
gh run list --limit 1
This project uses tag-triggered GitHub Actions. Do NOT use gh workflow run.
Workflow/config anchors:
.github/workflows/release.yml.goreleaser.yaml
Add entry for new version:
## [X.Y.Z] - YYYY-MM-DD
### Added
- New features
### Fixed
- Bug fixes
### Changed
- Breaking changesgit add CHANGELOG.md
git commit -m "docs: update CHANGELOG for vX.Y.Z"
git push origin maingit tag -a vX.Y.Z -m "Release vX.Y.Z"
git push origin vX.Y.ZThis triggers the GitHub Actions release workflow.
gh run watchThe workflow builds binaries, creates archives, generates checksums, and publishes the GitHub release.
GitHub auto-generates basic notes. Enhance them:
cat > /tmp/release-notes.md << 'NOTES'
## Highlights
- Key feature or fix
## Full Changelog
https://github.com/dynatrace-oss/ai-config-manager/compare/vOLD...vNEW
NOTES
gh release edit vX.Y.Z --notes-file /tmp/release-notes.mdgh release view vX.Y.Z- Verify release: https://github.com/dynatrace-oss/ai-config-manager/releases
- Test binary download works
- Monitor issues
gh release delete vX.Y.Z -y
git tag -d vX.Y.Z
git push origin :refs/tags/vX.Y.ZThen fix and re-release with incremented version.
- CHANGELOG.md - Version history
- GitHub Releases - Official releases