38 lines
1.2 KiB
Makefile
38 lines
1.2 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 rust-cache cargo-cache
|
|
|
|
# NOTE: This target will write to folders underneath the git-root
|
|
.PHONY: run
|
|
run: build
|
|
docker run --rm --init -t --read-only --mount type=tmpfs,destination=/tmp -v "$$(readlink -f ../../):/source:ro" --workdir=/source --mount source=cargo-cache,target=/usr/local/cargo/registry --mount source=rust-cache,target=/target --env CARGO_TARGET_DIR=/target $(IMAGE_NAME)
|
|
|
|
.PHONY: shell
|
|
shell: build
|
|
docker run --rm -i -t --entrypoint /bin/sh --mount type=tmpfs,destination=/tmp -v "$$(readlink -f ../../):/source:ro" --workdir=/source --mount source=cargo-cache,target=/usr/local/cargo/registry --mount source=rust-cache,target=/target --env CARGO_TARGET_DIR=/target $(IMAGE_NAME)
|