38 lines
1.1 KiB
Makefile
38 lines
1.1 KiB
Makefile
|
IMAGE_NAME:=organic-clippy
|
||
|
# 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
|
||
|
docker volume rm cargo-cache
|
||
|
|
||
|
# 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 --mount source=cargo-cache,target=/usr/local/cargo/registry $(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 --mount source=cargo-cache,target=/usr/local/cargo/registry $(IMAGE_NAME)
|