Skip to content
Snippets Groups Projects
Makefile 1.64 KiB
Newer Older
Daniel Lyons's avatar
Daniel Lyons committed
SHELL := /bin/bash

Andrew Kapuscinski's avatar
Andrew Kapuscinski committed
all: dev check-build
Andrew Kapuscinski's avatar
Andrew Kapuscinski committed
# Check if local code will pass CI build
.PHONY: check-build
check-build: docker-base docker-dev-images-locally test-dev
# Run tests on Dockerfile.dev images
.PHONY: test-dev
test-dev:
	docker run nrao:workflow ./bin/run-tests.sh
	docker run nrao:capability ./bin/run-tests.sh
	docker run nrao:notification ./bin/run-tests.sh
.PHONY: test
test:
	docker exec workspaces_workflow_1 ./bin/run-tests.sh
	docker exec workspaces_capability_1 ./bin/run-tests.sh
	docker exec workspaces_notification_1 ./bin/run-tests.sh
Andrew Kapuscinski's avatar
Andrew Kapuscinski committed
# Setup local development environment
Daniel Lyons's avatar
Daniel Lyons committed
.PHONY: dev
Andrew Kapuscinski's avatar
Andrew Kapuscinski committed
dev: docker-base
.PHONY: setup
setup:
	docker exec workspaces_capability_1 /bin/bash -c 'python -m pip install -r requirements.txt'
	docker exec workspaces_capability_1 /bin/bash -c 'python -m pip install -e .'
	docker exec workspaces_workflow_1 /bin/bash -c 'python -m pip install -e .'
	docker exec workspaces_notification_1 /bin/bash -c 'python -m pip install -e .'
	docker-compose restart

.PHONY: alembic-update
alembic-update:
	cd schema; \
	env CAPO_PROFILE=local alembic upgrade head
Andrew Kapuscinski's avatar
Andrew Kapuscinski committed
# Build images from Dockerfile.dev
.PHONY: docker-dev-images-locally
docker-dev-images-locally:
	docker build -t nrao:workflow -f services/workflow/Dockerfile.local . --build-arg capo_env=docker
	docker build -t nrao:capability -f services/capability/Dockerfile.local . --build-arg capo_env=docker
	docker build -t nrao:notification -f services/notification/Dockerfile.local . --build-arg capo_env=docker
Andrew Kapuscinski's avatar
Andrew Kapuscinski committed
# Build base image
	docker build -t marconi.aoc.nrao.edu/ops/base:workspaces -f Dockerfile.base .