builder/Makefile
sneak e416d60a49
All checks were successful
continuous-integration/drone/push Build is passing
latest
2022-12-09 00:50:29 +04:00

47 lines
1.1 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)
docker push $(RN):$(shell date -u +%Y-%m-%d)