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