project := dkr-dsg.ac.upc.edu/trustchain-oc1-orchestral

# docker images

####
# orchestra image tag
####

orchestra_branch := `git -C django-orchestra branch --show-current`
orchestra_commit := `git -C django-orchestra log -1 --format=%h`
orchestra_tag := ${orchestra_branch}__${orchestra_commit}
orchestra_tag := latest
orchestra_image := ${project}/orchestra:${orchestra_tag}

####
# musician image tag
####

musician_branch := `git -C django-musician branch --show-current`
musician_commit := `git -C django-musician log -1 --format=%h`
musician_tag := ${musician_branch}__${musician_commit}
musician_tag := latest
musician_image := ${project}/musician:${musician_tag}

####
# devicehub image tag
####

# TODO

devicehub_branch := `git -C devicehub-teal branch --show-current`
devicehub_commit := `git -C devicehub-teal log -1 --format=%h`
devicehub_tag := ${devicehub_branch}__${devicehub_commit}
devicehub_tag := latest
devicehub_image := ${project}/devicehub:${devicehub_tag}

####
# idhub image tag
####

idhub_branch := `git -C IdHub branch --show-current`
idhub_commit := `git -C IdHub log -1 --format=%h`
idhub_tag := ${idhub_branch}__${idhub_commit}
idhub_tag := latest
idhub_image := ${project}/idhub:${idhub_tag}

.PHONY: idhub_build
idhub_build:
	docker build -f docker/idhub.Dockerfile -t ${idhub_image} -t ${project}/idhub:${idhub_branch}__latest .
.PHONY: orchestra_build
orchestra_build:
	docker build -f docker/orchestra.Dockerfile -t ${orchestra_image}  -t ${project}/orchestra:latest .
.PHONY: musician_build
musician_build:
	docker build -f docker/musician.Dockerfile -t ${musician_image}  -t ${project}/musician:latest .

docker_build:
	docker build -f docker/orchestra.Dockerfile -t ${orchestra_image}  -t ${project}/orchestra:latest .
	docker build -f docker/musician.Dockerfile -t ${musician_image}  -t ${project}/musician:latest .
	$(MAKE) idhub_build
	@printf "\n##########################\n"
	@printf "\nimage: ${orchestra_image}\n"
	@printf "\nimage: ${musician_image}\n"
	@printf "\nimage: ${idhub_image}\n"
	@printf "\ndocker images built\n"
	@printf "\n##########################\n\n"

docker_publish:
	docker push ${orchestra_image}
	docker push ${musician_image}
	docker push ${idhub_image}

.PHONY: docker
docker:
	$(MAKE) docker_build
	$(MAKE) docker_publish

docker_down:
	docker compose down -v