Compare commits
	
		
			2 commits
		
	
	
		
			
				4ee0345157
			
			...
			
				2a37725b2e
			
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
							
							
								
							
							
	
	
		
			
		
	
	2a37725b2e | 
						
						
							|||
| 
							
							
								
							
							
	
	
		
			
		
	
	5122000d48 | 
						
						
							
					 2 changed files with 68 additions and 13 deletions
				
			
		
							
								
								
									
										55
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										55
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -4,29 +4,64 @@ GITCOMMIT := $(shell git log -1 --oneline | awk '{print $$1}')
 | 
			
		|||
OS := $(shell uname -s | tr [A-Z] [a-z])
 | 
			
		||||
ARCH := $(shell uname -m | tr [A-Z] [a-z])
 | 
			
		||||
LDFLAGS = -X main.AppVersion=${APPVERSION} -X main.GoVersion=${GOVERSION} -X main.GitCommit=${GITCOMMIT}
 | 
			
		||||
DOCKER_IMAGE = golang:1.24-trixie
 | 
			
		||||
 | 
			
		||||
.PHONY: clean test
 | 
			
		||||
.PHONY: clean clean_for_releases test
 | 
			
		||||
 | 
			
		||||
build:
 | 
			
		||||
	(cd src \
 | 
			
		||||
	cd src \
 | 
			
		||||
    && go build -ldflags "${LDFLAGS}" -o ../bin/collerd cmd/collerd/main.go \
 | 
			
		||||
    && go build -ldflags "${LDFLAGS}" -o ../bin/copier cmd/copier/main.go \
 | 
			
		||||
        && go build -ldflags "${LDFLAGS}" -o ../bin/coller cmd/coller/main.go \
 | 
			
		||||
	)
 | 
			
		||||
    && go build -ldflags "${LDFLAGS}" -o ../bin/coller cmd/coller/main.go
 | 
			
		||||
 | 
			
		||||
archive:
 | 
			
		||||
	(mkdir -p releases && cd bin && tar cvzpf ../releases/coller-${APPVERSION}-${OS}-${ARCH}.tar.gz * && cd ../releases && sha256sum *.tar.gz)
 | 
			
		||||
build_linux_amd64:
 | 
			
		||||
	cd src \
 | 
			
		||||
	&& GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o ../bin/collerd-${APPVERSION}-linux-amd64 cmd/collerd/main.go \
 | 
			
		||||
	&& GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o ../bin/coller-${APPVERSION}-linux-amd64 cmd/coller/main.go \
 | 
			
		||||
	&& GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o ../bin/copier-${APPVERSION}-linux-amd64 cmd/copier/main.go
 | 
			
		||||
 | 
			
		||||
release: build archive
 | 
			
		||||
archive_linux_amd64:
 | 
			
		||||
	mkdir -p releases/coller-${APPVERSION}-linux-amd64 \
 | 
			
		||||
	&& cp bin/collerd-${APPVERSION}-linux-amd64 releases/coller-${APPVERSION}-linux-amd64/collerd \
 | 
			
		||||
	&& cp bin/coller-${APPVERSION}-linux-amd64 releases/coller-${APPVERSION}-linux-amd64/coller \
 | 
			
		||||
	&& cp bin/copier-${APPVERSION}-linux-amd64 releases/coller-${APPVERSION}-linux-amd64/copier \
 | 
			
		||||
	&& cd releases/ \
 | 
			
		||||
	&& tar cvpzf coller-${APPVERSION}-linux-amd64.tar.gz coller-${APPVERSION}-linux-amd64
 | 
			
		||||
 | 
			
		||||
build_darwin_arm64:
 | 
			
		||||
	cd src \
 | 
			
		||||
	&& GOOS=darwin GOARCH=arm64 go build -ldflags "${LDFLAGS}" -o ../bin/collerd-${APPVERSION}-darwin-arm64 cmd/collerd/main.go \
 | 
			
		||||
	&& GOOS=darwin GOARCH=arm64 go build -ldflags "${LDFLAGS}" -o ../bin/coller-${APPVERSION}-darwin-arm64 cmd/coller/main.go \
 | 
			
		||||
	&& GOOS=darwin GOARCH=arm64 go build -ldflags "${LDFLAGS}" -o ../bin/copier-${APPVERSION}-darwin-arm64 cmd/copier/main.go
 | 
			
		||||
 | 
			
		||||
archive_darwin_arm64:
 | 
			
		||||
	mkdir -p releases/coller-${APPVERSION}-darwin-arm64 \
 | 
			
		||||
	&& cp bin/collerd-${APPVERSION}-darwin-arm64 releases/coller-${APPVERSION}-darwin-arm64/collerd \
 | 
			
		||||
	&& cp bin/coller-${APPVERSION}-darwin-arm64 releases/coller-${APPVERSION}-darwin-arm64/coller \
 | 
			
		||||
	&& cp bin/copier-${APPVERSION}-darwin-arm64 releases/coller-${APPVERSION}-darwin-arm64/copier \
 | 
			
		||||
	&& cd releases/ \
 | 
			
		||||
	&& tar cvpzf coller-${APPVERSION}-darwin-arm64.tar.gz coller-${APPVERSION}-darwin-arm64
 | 
			
		||||
 | 
			
		||||
checksum:
 | 
			
		||||
	cd releases \
 | 
			
		||||
	&& sha256sum *.tar.gz > checksums.txt
 | 
			
		||||
 | 
			
		||||
clean_for_releases:
 | 
			
		||||
	rm -rf releases/coller-${APPVERSION}-linux-amd64 \
 | 
			
		||||
	&& rm -rf releases/coller-${APPVERSION}-darwin-arm64
 | 
			
		||||
 | 
			
		||||
releases: build_linux_amd64 build_darwin_arm64 archive_linux_amd64 archive_darwin_arm64 checksum clean_for_releases
 | 
			
		||||
 | 
			
		||||
releases_with_docker:
 | 
			
		||||
	docker run -it -v $(shell pwd):/mnt -w /mnt -e "UID=$(shell id -u)" -e "GID=$(shell id -g)" ${DOCKER_IMAGE} ./docker/build.sh
 | 
			
		||||
 | 
			
		||||
dependencies:
 | 
			
		||||
	npm install
 | 
			
		||||
 | 
			
		||||
test:
 | 
			
		||||
	(cd src \
 | 
			
		||||
	cd src \
 | 
			
		||||
    && go test internal/*.go \
 | 
			
		||||
        && go test server/*.go \
 | 
			
		||||
	)
 | 
			
		||||
    && go test server/*.go
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm -rf bin releases
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										20
									
								
								docker/build.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								docker/build.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
# Script to create releases with Docker
 | 
			
		||||
# Used by `make releases_with_docker`
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
if [ -z "UID" ] ; then
 | 
			
		||||
    echo "UID not defined"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
if [ -z "GID" ] ; then
 | 
			
		||||
    echo "GID not defined"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
apt-get update
 | 
			
		||||
apt-get install -y libx11-dev
 | 
			
		||||
 | 
			
		||||
make releases
 | 
			
		||||
 | 
			
		||||
chown ${UID}:${GID} -R releases
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue