Makefile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. APP = miniflux
  2. VERSION = $(shell git rev-parse --short HEAD)
  3. BUILD_DATE = `date +%FT%T%z`
  4. DB_URL = postgres://postgres:postgres@localhost/miniflux_test?sslmode=disable
  5. .PHONY: build-linux build-darwin build run clean test integration-test clean-integration-test
  6. build-linux:
  7. @ go generate
  8. @ GOOS=linux GOARCH=amd64 go build -ldflags="-X 'miniflux/version.Version=$(VERSION)' -X 'miniflux/version.BuildDate=$(BUILD_DATE)'" -o $(APP)-linux-amd64 main.go
  9. build-darwin:
  10. @ go generate
  11. @ GOOS=darwin GOARCH=amd64 go build -ldflags="-X 'miniflux/version.Version=$(VERSION)' -X 'miniflux/version.BuildDate=$(BUILD_DATE)'" -o $(APP)-darwin-amd64 main.go
  12. build: build-linux build-darwin
  13. run:
  14. @ go generate
  15. @ go run main.go
  16. clean:
  17. @ rm -f $(APP)-*
  18. test:
  19. go test -cover -race ./...
  20. integration-test:
  21. psql -U postgres -c 'drop database if exists miniflux_test;'
  22. psql -U postgres -c 'create database miniflux_test;'
  23. DATABASE_URL=$(DB_URL) go run main.go -migrate
  24. DATABASE_URL=$(DB_URL) ADMIN_USERNAME=admin ADMIN_PASSWORD=test123 go run main.go -create-admin
  25. go build -o miniflux-test main.go
  26. DATABASE_URL=$(DB_URL) ./miniflux-test >/tmp/miniflux.log 2>&1 & echo "$$!" > "/tmp/miniflux.pid"
  27. while ! echo exit | nc localhost 8080; do sleep 1; done >/dev/null
  28. go test -v -tags=integration || cat /tmp/miniflux.log
  29. clean-integration-test:
  30. @ kill -9 `cat /tmp/miniflux.pid`
  31. @ rm -f /tmp/miniflux.pid /tmp/miniflux.log
  32. @ rm miniflux-test
  33. @ psql -U postgres -c 'drop database if exists miniflux_test;'