37 lines
959 B
Makefile
37 lines
959 B
Makefile
IMAGE_NAME:=cargo-fmt
|
|
# REMOTE_REPO:=harbor.fizz.buzz/private
|
|
|
|
.PHONY: all
|
|
all: build push
|
|
|
|
.PHONY: build
|
|
build:
|
|
docker build -t $(IMAGE_NAME) -f Dockerfile .
|
|
|
|
.PHONY: push
|
|
push:
|
|
ifdef REMOTE_REPO
|
|
docker tag $(IMAGE_NAME) $(REMOTE_REPO)/$(IMAGE_NAME)
|
|
docker push $(REMOTE_REPO)/$(IMAGE_NAME)
|
|
else
|
|
@echo "REMOTE_REPO not defined, not pushing to a remote repo."
|
|
endif
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
docker rmi $(IMAGE_NAME)
|
|
ifdef REMOTE_REPO
|
|
docker rmi $(REMOTE_REPO)/$(IMAGE_NAME)
|
|
else
|
|
@echo "REMOTE_REPO not defined, not removing from remote repo."
|
|
endif
|
|
|
|
# NOTE: This target will write to folders underneath the git-root
|
|
.PHONY: run
|
|
run: build
|
|
docker run --rm --init --read-only --mount type=tmpfs,destination=/tmp -v "$$(readlink -f ../../):/source" --workdir=/source $(IMAGE_NAME)
|
|
|
|
.PHONY: shell
|
|
shell: build
|
|
docker run --rm -i -t --entrypoint /bin/sh --mount type=tmpfs,destination=/tmp -v "$$(readlink -f ../../):/source" --workdir=/source $(IMAGE_NAME)
|