Compare commits
	
		
			2 commits
		
	
	
		
			
				4ee0345157
			
			...
			
				2a37725b2e
			
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
							
							
								
							
							
	
	
		
			
		
	
	2a37725b2e | 
						
						
							|||
| 
							
							
								
							
							
	
	
		
			
		
	
	5122000d48 | 
						
						
							
					 2 changed files with 68 additions and 13 deletions
				
			
		
							
								
								
									
										61
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										61
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
					@ -4,29 +4,64 @@ GITCOMMIT := $(shell git log -1 --oneline | awk '{print $$1}')
 | 
				
			||||||
OS := $(shell uname -s | tr [A-Z] [a-z])
 | 
					OS := $(shell uname -s | tr [A-Z] [a-z])
 | 
				
			||||||
ARCH := $(shell uname -m | 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}
 | 
					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:
 | 
					build:
 | 
				
			||||||
	(cd src \
 | 
						cd src \
 | 
				
			||||||
        && go build -ldflags "${LDFLAGS}" -o ../bin/collerd cmd/collerd/main.go \
 | 
					    && 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/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:
 | 
					build_linux_amd64:
 | 
				
			||||||
	(mkdir -p releases && cd bin && tar cvzpf ../releases/coller-${APPVERSION}-${OS}-${ARCH}.tar.gz * && cd ../releases && sha256sum *.tar.gz)
 | 
						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:
 | 
					dependencies:
 | 
				
			||||||
	npm install
 | 
						npm install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test:
 | 
					test:
 | 
				
			||||||
	(cd src \
 | 
						cd src \
 | 
				
			||||||
        && go test internal/*.go \
 | 
					    && go test internal/*.go \
 | 
				
			||||||
        && go test server/*.go \
 | 
					    && go test server/*.go
 | 
				
			||||||
	)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
clean:
 | 
					clean:
 | 
				
			||||||
	rm -rf bin releases
 | 
						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