45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
export DOCKER_BUILDKIT := 1
 | 
						|
export PROGRESS_NO_TRUNC := 1
 | 
						|
APPNAME := builder
 | 
						|
ARCH := $(shell uname -m)
 | 
						|
GITREV := $(shell git describe --always --dirty=-dirty)
 | 
						|
D := $(HOME)/Documents/_SYSADMIN/docker/sneak/$(APPNAME)
 | 
						|
BRANCH := $(shell git branch --show-current)
 | 
						|
RN := sneak/builder
 | 
						|
export DOCKER_IMAGE_CACHE_DIR := $(HOME)/Library/Caches/Docker/$(APPNAME)-$(ARCH)
 | 
						|
 | 
						|
.PHONY: default save build 
 | 
						|
 | 
						|
default: save
 | 
						|
 | 
						|
clean:
 | 
						|
	rm -v $(D)/*.tzst
 | 
						|
 | 
						|
build:
 | 
						|
	docker build \
 | 
						|
		-t $(RN):$(GITREV) \
 | 
						|
		-t $(RN):latest \
 | 
						|
		-t $(RN):$(shell git branch --show-current) \
 | 
						|
		--progress plain --build-arg GITREV=$(GITREV) .
 | 
						|
 | 
						|
save: $(D)/latest.tzst $(D)/$(BRANCH).tzst
 | 
						|
 | 
						|
$(D)/$(BRANCH).tzst: $(D)/$(GITREV).tzst
 | 
						|
	rm -f $@
 | 
						|
	ln -s $(D)/$(GITREV).tzst $@
 | 
						|
 | 
						|
$(D)/latest.tzst: $(D)/$(GITREV).tzst
 | 
						|
	rm -f $@
 | 
						|
	ln -s $(D)/$(GITREV).tzst $@
 | 
						|
 | 
						|
$D/$(GITREV).tzst: build
 | 
						|
	docker image inspect $(RN):$(GITREV)
 | 
						|
	-mkdir -p "$(D)"
 | 
						|
	docker save $(RN):$(GITREV) | pv | zstdmt -19 > $@.tmp
 | 
						|
	mv $@.tmp $@
 | 
						|
 | 
						|
push:
 | 
						|
	docker push $(RN):$(GITREV)
 | 
						|
	docker push $(RN):latest
 | 
						|
	docker push $(RN):$(shell git branch --show-current)
 |