Skip to content

Commit 3a003f9

Browse files
authored
Merge pull request #6 from lpabon/makefile
Makefile for csi-sanity
2 parents 5d7652f + 5623d44 commit 3a003f9

File tree

2 files changed

+63
-3
lines changed

2 files changed

+63
-3
lines changed

cmd/csi-sanity/Makefile

+55-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,59 @@
1-
all: csi-sanity
1+
APP_NAME := csi-sanity
2+
#VER :=$(shell git describe).$(shell git log --oneline -1 --pretty=format:"%h")
3+
VER :=$(shell git log --oneline -1 --pretty=format:"%h")
4+
BRANCH := $(subst /,-,$(shell git rev-parse --abbrev-ref HEAD))
5+
SHA := $(shell git rev-parse --short HEAD)
6+
ARCH := $(shell go env GOARCH)
7+
GOOS := $(shell go env GOOS)
8+
DIR=.
29

3-
csi-sanity: sanity_test.go
4-
go test -c -o csi-sanity
10+
ifdef APP_SUFFIX
11+
VERSION = $(VER)-$(subst /,-,$(APP_SUFFIX))
12+
else
13+
ifeq (master,$(BRANCH))
14+
VERSION = $(VER)
15+
else
16+
VERSION = $(VER)-$(BRANCH)
17+
endif
18+
endif
19+
20+
LDFLAGS :=-ldflags "-w -X github.com/kubernetes-csi/csi-test/cmd/csi-sanity.VERSION=$(VERSION) -extldflags '-z relro -z now'"
21+
PACKAGE :=$(DIR)/dist/$(APP_NAME)-$(VERSION).$(GOOS).$(ARCH).tar.gz
22+
23+
all: $(APP_NAME)
24+
25+
$(APP_NAME): Makefile sanity_test.go
26+
go test $(LDFLAGS) -c -o $(APP_NAME)
527

628
clean:
729
rm -f csi-sanity
30+
rm -rf $(DIR)/dist
31+
32+
dist: $(PACKAGE)
33+
34+
$(PACKAGE): $(APP_NAME)
35+
@echo Packaging Binaries...
36+
@mkdir -p tmp/$(APP_NAME)
37+
@cp $(APP_NAME) tmp/$(APP_NAME)/
38+
@mkdir -p $(DIR)/dist/
39+
tar -czf $@ -C tmp $(APP_NAME);
40+
@rm -rf tmp
41+
@echo
42+
@echo Package $@ saved in dist directory
43+
44+
linux_amd64_dist:
45+
GOOS=linux GOARCH=amd64 $(MAKE) dist
46+
47+
linux_arm_dist:
48+
GOOS=linux GOARCH=arm $(MAKE) dist
49+
50+
linux_arm64_dist:
51+
GOOS=linux GOARCH=arm64 $(MAKE) dist
52+
53+
darwin_amd64_dist:
54+
GOOS=darwin GOARCH=amd64 $(MAKE) dist
55+
56+
release: darwin_amd64_dist linux_arm_dist linux_amd64_dist linux_arm64_dist
57+
58+
.PHONY: release darwin_amd64_dist linux_arm64_dist linux_amd64_dist \
59+
linux_arm_dist linux_amd64_dist clean

cmd/csi-sanity/sanity_test.go

+8
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package sanity
1717

1818
import (
1919
"flag"
20+
"fmt"
2021
"testing"
2122

2223
"github.com/kubernetes-csi/csi-test/pkg/sanity"
@@ -27,15 +28,22 @@ const (
2728
)
2829

2930
var (
31+
VERSION = "(dev)"
3032
endpoint string
33+
version bool
3134
)
3235

3336
func init() {
3437
flag.StringVar(&endpoint, prefix+"endpoint", "", "CSI endpoint")
38+
flag.BoolVar(&version, prefix+"version", false, "Version of this program")
3539
flag.Parse()
3640
}
3741

3842
func TestSanity(t *testing.T) {
43+
if version {
44+
fmt.Printf("Version = %s\n", VERSION)
45+
return
46+
}
3947
if len(endpoint) == 0 {
4048
t.Fatalf("--%s.endpoint must be provided with an CSI endpoint", prefix)
4149
}

0 commit comments

Comments
 (0)