Skip to content
Snippets Groups Projects
Makefile 1.62 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: $(shared-packages) $(app-packages-capability) $(app-packages-workflow)
	docker run nrao:workflow package-tester -v $(shared-packages) $(app-packages-workflow)
	docker run nrao:capability package-tester -v $(shared-packages) $(app-packages-capability)

# Run tests on Dockerfile.local containers
.PHONY: test
test: $(shared-packages) $(app-packages-capability) $(app-packages-workflow)
	docker exec workspaces_capability_1 package-tester -v $(shared-packages) $(app-packages-capability)
	docker exec workspaces_workflow_1 package-tester -v $(shared-packages) $(app-packages-workflow)
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: 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.dev . --build-arg capo-env=docker
	docker build -t nrao:capability -f services/capability/Dockerfile.dev . --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 .

# Packages to test
shared-packages = shared.channels shared.schema shared.workspaces
app-packages-workflow = apps.cli.executables.vulture apps.cli.executables.null apps.cli.utilities.wf_monitor
app-packages-capability = apps.cli.utilities.wf_monitor