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