mirror of
https://github.com/boostorg/website-v2.git
synced 2026-01-19 04:42:17 +00:00
101 lines
2.7 KiB
Makefile
101 lines
2.7 KiB
Makefile
COMPOSE_FILE := docker-compose.yml
|
|
|
|
.PHONY: help
|
|
help:
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-24s\033[0m %s\n", $$1, $$2}'
|
|
|
|
# ----
|
|
# Research:
|
|
# - https://www.encode.io/reports/april-2020#our-workflow-approach
|
|
# - https://github.blog/2015-06-30-scripts-to-rule-them-all/
|
|
# ----
|
|
|
|
.PHONY: bootstrap
|
|
bootstrap: ## installs/updates all dependencies
|
|
@docker compose --file $(COMPOSE_FILE) build --force-rm
|
|
|
|
.PHONY: cibuild
|
|
cibuild: ## invoked by continuous integration servers to run tests
|
|
@python -m pytest
|
|
@python -m black --check .
|
|
@interrogate -c pyproject.toml .
|
|
|
|
.PHONY: console
|
|
console: ## opens a console
|
|
@docker compose run --rm web bash
|
|
|
|
.PHONY: server
|
|
server: ## starts app
|
|
@docker compose --file docker-compose.yml run --rm web python manage.py migrate --noinput
|
|
@docker compose up
|
|
|
|
.PHONY: setup
|
|
setup: ## sets up a project to be used for the first time
|
|
@docker compose --file $(COMPOSE_FILE) build --force-rm
|
|
@docker compose --file docker-compose.yml run --rm web python manage.py migrate --noinput
|
|
|
|
.PHONY: test_interrogate
|
|
test_interrogate:
|
|
@docker compose run --rm web interrogate -vv --fail-under 100 --whitelist-regex "test_.*" .
|
|
|
|
.PHONY: test_pytest
|
|
test_pytest:
|
|
@docker compose run --rm web pytest -s
|
|
|
|
.PHONY: test
|
|
test: test_interrogate test_pytest
|
|
@docker compose down
|
|
|
|
.PHONY: update
|
|
update: ## updates a project to run at its current version
|
|
@docker compose --file $(COMPOSE_FILE) rm --force celery
|
|
@docker compose --file $(COMPOSE_FILE) rm --force celery-beat
|
|
@docker compose --file $(COMPOSE_FILE) rm --force web
|
|
@docker compose --file $(COMPOSE_FILE) pull
|
|
@docker compose --file $(COMPOSE_FILE) build --force-rm
|
|
@docker compose --file docker-compose.yml run --rm web python manage.py migrate --noinput
|
|
|
|
# ----
|
|
|
|
.PHONY: pip-compile
|
|
pip-compile: ## rebuilds our pip requirements
|
|
@docker compose run --rm web pip-compile ./requirements.in --output-file ./requirements.txt
|
|
|
|
.PHONY: build
|
|
build:
|
|
docker compose pull
|
|
DOCKER_BUILDKIT=1 docker compose build
|
|
|
|
.PHONY: createsuperuser
|
|
createsuperuser:
|
|
docker compose run --rm web /code/manage.py createsuperuser
|
|
|
|
.PHONY: down
|
|
down:
|
|
docker compose down
|
|
|
|
.PHONY: makemigrations
|
|
makemigrations:
|
|
@echo "Running makemigrations..."
|
|
docker compose run --rm web /code/manage.py makemigrations
|
|
|
|
.PHONY: migrate
|
|
migrate:
|
|
@echo "Running migrations..."
|
|
docker compose run --rm web /code/manage.py migrate --noinput
|
|
|
|
.PHONY: rebuild
|
|
rebuild:
|
|
@echo "Rebuilding local docker images..."
|
|
docker compose kill
|
|
docker compose rm -f web
|
|
DOCKER_BUILDKIT=1 docker compose build --force-rm web
|
|
|
|
.PHONY: shell
|
|
shell:
|
|
docker compose run --rm web bash
|
|
|
|
.PHONY: up
|
|
up:
|
|
docker compose up -d
|