diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2022-03-12 10:09:49 +0500 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2022-03-12 10:10:50 +0500 |
commit | 6e8586b13d1270fb66ae475d735b1e635bf34ee0 (patch) | |
tree | ae6795426e266915ada87e46c362b3bcfe857d6f | |
parent | workflows/ci: add a deploy job (diff) | |
download | void-6e8586b13d1270fb66ae475d735b1e635bf34ee0.tar.gz void-6e8586b13d1270fb66ae475d735b1e635bf34ee0.zip |
add Makefile
Diffstat (limited to '')
-rw-r--r-- | .github/workflows/ci.yml | 5 | ||||
-rw-r--r-- | Makefile | 62 |
2 files changed, 63 insertions, 4 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 21027df..d1e5cbc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,4 @@ jobs: private_key: '${{ secrets.WG_PRIVATE_KEY }}' preshared_key: '${{ secrets.WG_PRESHARED_KEY }}' - name: Deploy - run: | - docker-compose pull - docker-compose build --pull - docker-compose up -d + run: make deploy diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0a4c1e8 --- /dev/null +++ b/Makefile @@ -0,0 +1,62 @@ +MAKEFLAGS += --no-builtin-rules --no-builtin-variables --warn-undefined-variables +.DEFAULT_GOAL := all +.DELETE_ON_ERROR: +.SUFFIXES: +SHELL := bash +.SHELLFLAGS := -e -o pipefail -c + +escape = $(subst ','\'',$(1)) + +define noexpand +ifeq ($$(origin $(1)),environment) + $(1) := $$(value $(1)) +endif +ifeq ($$(origin $(1)),environment override) + $(1) := $$(value $(1)) +endif +ifeq ($$(origin $(1)),command line) + override $(1) := $$(value $(1)) +endif +endef + +.PHONY: all +all: serve + +PORT ?= 23666 +$(eval $(call noexpand,PORT)) + +URL := http://localhost:$(PORT)/ +STATE := ./void.state + +.PHONY: serve +serve: + ./server.py --port '$(call escape,$(PORT))' --void '$(call escape,$(STATE))' + +.PHONY: clean +clean: + rm -f -- '$(call escape,$(STATE))' + +.PHONY: view +view: + xdg-open '$(call escape,$(URL))' &> /dev/null + +DOCKER_HOST ?= unix:///var/run/docker.sock +$(eval $(call noexpand,DOCKER_HOST)) +export DOCKER_HOST + +.PHONY: docker-build +docker-build: + docker-compose pull + docker-compose build --pull + +.PHONY: docker-serve +docker-serve: docker-build + docker-compose up + +.PHONY: deploy +deploy: docker-build + docker-compose up -d + +.PHONY: undeploy +undeploy: + docker-compose down --rmi all --volumes |