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)
|