Skip to content

Commit 9ca5100

Browse files
committed
Add --version flag with build-time version injection
1 parent e2e47f9 commit 9ca5100

2 files changed

Lines changed: 15 additions & 5 deletions

File tree

.github/workflows/release.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@ jobs:
2323

2424
- name: Build binaries
2525
run: |
26+
VERSION=${GITHUB_REF_NAME}
27+
LDFLAGS="-s -w -X main.version=${VERSION}"
2628
mkdir -p dist
27-
GOOS=darwin GOARCH=arm64 go build -o dist/pr-patrol-darwin-arm64 .
28-
GOOS=darwin GOARCH=amd64 go build -o dist/pr-patrol-darwin-amd64 .
29-
GOOS=linux GOARCH=amd64 go build -o dist/pr-patrol-linux-amd64 .
30-
GOOS=linux GOARCH=arm64 go build -o dist/pr-patrol-linux-arm64 .
31-
GOOS=windows GOARCH=amd64 go build -o dist/pr-patrol-windows-amd64.exe .
29+
GOOS=darwin GOARCH=arm64 go build -ldflags "${LDFLAGS}" -o dist/pr-patrol-darwin-arm64 .
30+
GOOS=darwin GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o dist/pr-patrol-darwin-amd64 .
31+
GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o dist/pr-patrol-linux-amd64 .
32+
GOOS=linux GOARCH=arm64 go build -ldflags "${LDFLAGS}" -o dist/pr-patrol-linux-arm64 .
33+
GOOS=windows GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o dist/pr-patrol-windows-amd64.exe .
3234
3335
- name: Create release
3436
uses: softprops/action-gh-release@v2

main.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import (
99
pflag "github.com/spf13/pflag"
1010
)
1111

12+
var version = "dev"
13+
1214
func main() {
1315
org := pflag.String("org", "", "GitHub organization (or set GITHUB_ORG)")
1416
plain := pflag.Bool("plain", false, "Plain text output (no TUI)")
@@ -19,8 +21,14 @@ func main() {
1921
dismissRepos := pflag.StringSlice("dismiss-repos", nil, "Repos to hide (comma-separated)")
2022
debug := pflag.Bool("debug", false, "Print debug info for review classification")
2123
demo := pflag.Bool("demo", false, "Show demo data (for screenshots)")
24+
showVersion := pflag.Bool("version", false, "Print version and exit")
2225
pflag.Parse()
2326

27+
if *showVersion {
28+
fmt.Println("pr-patrol " + version)
29+
return
30+
}
31+
2432
if *org == "" {
2533
*org = os.Getenv("GITHUB_ORG")
2634
}

0 commit comments

Comments
 (0)