-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
44 lines (34 loc) · 1.67 KB
/
Copy pathMakefile
File metadata and controls
44 lines (34 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Developer tasks for ReactantServer. The supported deployment is running the node supervisor
# natively (see the Deployment page in the docs); the container image is an alternative (docker/).
#
# make image # build the reactantserver node image (docker/Dockerfile)
# make bazel-image # build the locked production image with Bazel and load it (deploy/)
# make e2e # native CPU end-to-end test (host processes; no containers)
# make docs # build the Documenter site into docs/build/ (CPU only; no GPU needed)
# make clean # remove the image this Makefile builds
# make help # list the available targets
SHELL := /bin/bash
ENGINE ?= podman
NODE_IMAGE ?= reactantserver:latest
JULIA ?= julia
.PHONY: all image bazel-image e2e docs clean help
all: help
## image: build the reactantserver node image (needs a local Manifest.toml; gRPCServer resolves from GitHub, see docker/README.md)
image:
$(ENGINE) build -f docker/Dockerfile -t $(NODE_IMAGE) .
## bazel-image: build the locked production image (deploy/Manifest.toml) with Bazel and load it into podman
bazel-image:
bazel run //deploy:image_load
## e2e: native CPU end-to-end test (supervisor + embedded gateway as host processes; no containers)
e2e:
bash packages/ReactantServer/test/e2e/run_e2e_cpu.sh
## docs: build the Documenter site into docs/build/ (instantiates docs/ first; CPU only)
docs:
$(JULIA) --project=docs -e 'using Pkg; Pkg.instantiate()'
$(JULIA) --project=docs docs/make.jl
## clean: remove the image built by this Makefile (ignores it if absent)
clean:
-$(ENGINE) rmi $(NODE_IMAGE)
## help: list the available targets
help:
@grep -E '^## ' $(MAKEFILE_LIST) | sed 's/^## / /'