SHELL := /bin/bash

all: dev check-build

# Check if local code will pass CI build
.PHONY: check-build
check-build: docker-base docker-dev-images-locally test

# Run tests in containers
.PHONY: test
test:
	docker run nrao:workflow pytest --version && echo 'tests coming soon!'
	docker run nrao:capability pytest --version && echo 'tests coming soon!'

# Setup local development environment
.PHONY: dev
dev: docker-base

.PHONY: alembic-update
alembic-update:
	cd schema; \
	env CAPO_PROFILE=local alembic upgrade head

# Build images from Dockerfile.dev
.PHONY: docker-dev-images-locally
docker-dev-images-locally:
	docker build -t nrao:workflow -f services/workflow/Dockerfile.dev . --build-arg capo-env=docker
	docker build -t nrao:capability -f services/capability/Dockerfile.dev . --build-arg capo-env=docker

# Build base image
.PHONY: docker-base
docker-base:
	docker build -t marconi.aoc.nrao.edu/ops/base:workspaces -f Dockerfile.base .