From ca226e83df3e44d8c745fe3a6436819d3f85cd13 Mon Sep 17 00:00:00 2001 From: Hein Date: Thu, 10 Sep 2026 22:21:40 +0200 Subject: [PATCH] feat(release): update release process to include linting and testing --- Makefile | 2 +- cmd/relspec/main.go | 2 ++ cmd/relspec/root.go | 3 ++- cmd/relspec/version.go | 7 +++++-- pkg/buildinfo/buildinfo.go | 16 ++++++++++++++++ pkg/writers/drizzle/template_data.go | 4 ++-- 6 files changed, 28 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 2cb19fa..96725b3 100644 --- a/Makefile +++ b/Makefile @@ -207,7 +207,7 @@ docker-test-integration: docker-up ## Start DB and run integration tests $(GOTEST) -v ./pkg/readers/pgsql/ -count=1 || (make docker-down && exit 1) @make docker-down -release: ## Create and push a new release tag (auto-increments patch version) +release: lint fmt-check test build ## Run lint, format check, tests, build, then create and push a new release tag @echo "Creating new release..." @latest_tag=$$(git describe --tags --abbrev=0 2>/dev/null || echo ""); \ if [ -z "$$latest_tag" ]; then \ diff --git a/cmd/relspec/main.go b/cmd/relspec/main.go index 92b0cac..794c5b9 100644 --- a/cmd/relspec/main.go +++ b/cmd/relspec/main.go @@ -5,6 +5,8 @@ import ( "os" ) +// asciiLogo (see version.go) is printed by the `version` command. + func main() { args := os.Args[1:] isSilent := hasSilentFlag(args) diff --git a/cmd/relspec/root.go b/cmd/relspec/root.go index 16f7673..13de477 100644 --- a/cmd/relspec/root.go +++ b/cmd/relspec/root.go @@ -3,8 +3,9 @@ package main import ( "fmt" - "git.warky.dev/wdevs/relspecgo/pkg/buildinfo" "github.com/spf13/cobra" + + "git.warky.dev/wdevs/relspecgo/pkg/buildinfo" ) // version/buildDate mirror pkg/buildinfo so existing call sites keep working. diff --git a/cmd/relspec/version.go b/cmd/relspec/version.go index 0ef38f8..606a6b4 100644 --- a/cmd/relspec/version.go +++ b/cmd/relspec/version.go @@ -4,13 +4,16 @@ import ( "fmt" "github.com/spf13/cobra" + + "git.warky.dev/wdevs/relspecgo/pkg/buildinfo" ) var versionCmd = &cobra.Command{ Use: "version", Short: "Print version information", Run: func(cmd *cobra.Command, args []string) { - fmt.Printf("RelSpec %s\n", version) - fmt.Printf("Built: %s\n", buildDate) + fmt.Print(buildinfo.AsciiLogo) + fmt.Printf("RelSpec %s\n", buildinfo.Version) + fmt.Printf("Built: %s\n", buildinfo.BuildDate) }, } diff --git a/pkg/buildinfo/buildinfo.go b/pkg/buildinfo/buildinfo.go index d556c08..47b1da0 100644 --- a/pkg/buildinfo/buildinfo.go +++ b/pkg/buildinfo/buildinfo.go @@ -47,3 +47,19 @@ func init() { func GeneratedComment() string { return fmt.Sprintf("RelSpec %s (built: %s)", Version, BuildDate) } + +const AsciiLogo = ` +██████╗ ███████╗██╗ ███████╗██████╗ ███████╗ ██████╗ +██╔══██╗██╔════╝██║ ██╔════╝██╔══██╗██╔════╝██╔════╝ +██████╔╝█████╗ ██║ ███████╗██████╔╝█████╗ ██║ +██╔══██╗██╔══╝ ██║ ╚════██║██╔═══╝ ██╔══╝ ██║ +██║ ██║███████╗███████╗███████║██║ ███████╗╚██████╗ +╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝╚═╝ ╚══════╝ ╚═════╝ +[ IN ] ──▶ [ RELSPEC ] ──▶ [ OUT ] +╔══════════════════════════════════════╗ +║ ║ +║ © WARKY DEVS ║ +║ Author: Hein (hein@warky.dev) ║ +║ ║ +╚══════════════════════════════════════╝ +` diff --git a/pkg/writers/drizzle/template_data.go b/pkg/writers/drizzle/template_data.go index 18f2804..4468c38 100644 --- a/pkg/writers/drizzle/template_data.go +++ b/pkg/writers/drizzle/template_data.go @@ -63,8 +63,8 @@ func NewTemplateData() *TemplateData { return &TemplateData{ GeneratedBy: buildinfo.GeneratedComment(), Imports: make([]string, 0), - Enums: make([]*EnumData, 0), - Tables: make([]*TableData, 0), + Enums: make([]*EnumData, 0), + Tables: make([]*TableData, 0), } }