]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - Makefile
remote: guard against symlinks in earlier path components
[safcm/safcm.git] / Makefile
index ddde397b2ce427b5995cce8933a426332b17aa36..b21ed3d0893740fd8fe2f590065f1f60738e43a2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,10 @@
 LDFLAGS = '\
-    -X "main.versionGit=$(shell git describe --long --tags --dirty --always)" \
+    -X "main.versionGit=$(shell git describe --long --tags --dirty --always) \
+$(shell git show --no-patch --pretty=format:%as)" \
     -X "main.versionGo=$(shell go version)" \
 '
+# Build with `make GOFLAGS=` if -race is not supported
+GOFLAGS=-race
 
 
 all: safcm
@@ -9,12 +12,30 @@ all: safcm
 safcm:
        go fmt ./...
        cd cmd/safcm-remote && ./build.sh
-       go build -ldflags $(LDFLAGS) -race ruderich.org/simon/safcm/cmd/safcm
+       go build $(GOFLAGS) -ldflags $(LDFLAGS) ruderich.org/simon/safcm/cmd/safcm
+
+test:
        @# For proper permissions after initial clone with a strict umask
        cd cmd/safcm/testdata/project && ../../../../safcm fixperms 2> /dev/null
+       @#
+       ./cmd/safcm/testdata/ssh/prepare.sh
+       go vet ./...
+       go test $(GOFLAGS) ./...
+
+lint:
+       shellcheck ci/run
+       shellcheck cmd/safcm-remote/build.sh
+       shellcheck cmd/safcm/testdata/ssh/prepare.sh
 
 clean:
-       rm -rf remote/helpers/
+       rm -rf cmd/safcm/remote/
        rm -f safcm
+       rm -f cmd/safcm/testdata/ssh/ssh/authorized_keys
+       rm -f cmd/safcm/testdata/ssh/ssh/id_ed25519
+       rm -f cmd/safcm/testdata/ssh/ssh/id_ed25519.pub
+       rm -f cmd/safcm/testdata/ssh/ssh/known_hosts
+       rm -f cmd/safcm/testdata/ssh/sshd/ssh_host_key
+       rm -f cmd/safcm/testdata/ssh/sshd/ssh_host_key.pub
+       rm -rf cmd/safcm/testdata/ssh/project/no-changes.example.org/
 
-.PHONY: all clean safcm
+.PHONY: all test clean safcm