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

Daniel Lyons's avatar
Daniel Lyons committed
all: dev metadata build
Daniel Lyons's avatar
Daniel Lyons committed
.PHONY: check-conda
check-conda:
	@[ "${CONDA_EXE}" != "" ] || \
		(echo "Conda does not appear to be installed; please install it and try again"; exit 1)
	@[ "${CONDA_PREFIX}" != "" ] || \
		(echo "Conda does not appear to be active; please activate 'data' and try again"; exit 1)
Daniel Lyons's avatar
Daniel Lyons committed
	@[ "${CONDA_DEFAULT_ENV}" = "data" ] || \
Daniel Lyons's avatar
Daniel Lyons committed
		(echo "Wrong conda environment '${CONDA_DEFAULT_ENV}' appears to be active; please deactivate, activate 'data' and try again"; exit 1)

.PHONY: metadata
metadata:
	buildout parts=gen_metadata

.PHONY: build
build:
Nathan Hertz's avatar
Nathan Hertz committed
	buildout parts=build_pkgs name=all

.PHONY: test
test:
Daniel Lyons's avatar
Daniel Lyons committed
${CONDA_PREFIX}: environment.yml
	conda env update
	touch $@
Daniel Lyons's avatar
Daniel Lyons committed
.PHONY: dev
Daniel Lyons's avatar
Daniel Lyons committed
dev: check-conda ${CONDA_PREFIX} alembic-update python-setup-develop

.PHONY: python-setup-develop
python-setup-develop: check-conda ${CONDA_PREFIX}
	for dir in shared/{schema,workspaces,channels} services/{workflow,capability} apps/cli/{utilities/wf_monitor,executables/{null,vulture}}; do \
  		pushd $$dir; \
  		python setup.py develop; \
  		popd; \
  	done

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

.PHONY: docker-images
docker-images:
	docker build -t nrao:workspaces-base .
	pushd services/workflow && docker build -t nrao:workflow . && popd
	pushd services/capability && docker build -t nrao:capability . && popd
	pushd schema && docker build -t nrao:schema . && popd
.PHONY: docker-base
docker-base:
	docker build -t marconi.aoc.nrao.edu/ops/base:workspaces -f Condaless.dockerfile.v2 .