-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathMakefile
64 lines (51 loc) · 1.63 KB
/
Makefile
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
VERSION := $(shell git describe --always | sed 's/v\(.*\)/\1/')
PACKAGE_VERSION ?= $(shell echo $(VERSION) | sed 's/-\([0-9]*\)-\(g[0-9a-f]*\)/+\1.\2/')
DIST_DIR = ./dist/
OS = $(shell uname -s)
ifeq ($(OS),Darwin)
SED := sed -i ""
else
SED := sed -i""
endif
DOCKER_COMPOSE_CMD_TEST := docker-compose \
-f docker-compose.test.yml
DOCKER_RUN_TEST := ${DOCKER_COMPOSE_CMD_TEST} run --rm test-app
.PHONY: build
build:
python setup.py bdist_wheel
python setup.py sdist
.PHONY: clean
clean:
-rm -rf $(DIST_DIR)
.PHONY: before-docker-test
before-docker-test:
${DOCKER_COMPOSE_CMD_TEST} up -d test-db
sleep 20
${DOCKER_COMPOSE_CMD_TEST} exec test-db \
psql -c 'CREATE DATABASE skygear_test;' -U postgres
${DOCKER_COMPOSE_CMD_TEST} exec test-db \
psql -c 'CREATE EXTENSION postgis;' -U postgres -d skygear_test
.PHONY: docker-just-test
docker-just-test:
${DOCKER_RUN_TEST} pylama skygear
${DOCKER_RUN_TEST} coverage run --source skygear setup.py test
${DOCKER_RUN_TEST} coverage report -m --omit '*tests*'
.PHONY: after-docker-test
after-docker-test:
${DOCKER_COMPOSE_CMD_TEST} down -v
.PHONY: docker-test
docker-test: before-docker-test docker-just-test after-docker-test
.PHONY: docker-build
docker-build: build
cp skygear-server scripts/release/
make -C scripts/docker-images/release docker-build
.PHONY: docker-build
docker-push:
make -C scripts/docker-images/release docker-push
.PHONY: release-commit
release-commit:
./scripts/release-commit.sh
.PHONY: update-version
update-version:
$(SED) "s/version='.*'/version='$(PACKAGE_VERSION)'/" setup.py
$(SED) "s/__version__ = '.*'/__version__ = '$(PACKAGE_VERSION)'/" skygear/__version__.py