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