Skip to content

Update Makefile for proper integration of git hooks script #67

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Apr 10, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Add utility functions and scripts to the container
include scripts/makefile/*.mk

.PHONY: all provision si exec exec0 down clean dev info phpcs phpcbf drush cinsp
.PHONY: all provision si exec exec0 down clean dev info phpcs phpcbf drush cinsp hooksymlink hookexec
.DEFAULT_GOAL := help

# https://stackoverflow.com/a/6273809/1826109
Expand Down Expand Up @@ -41,11 +41,9 @@ phpcsexec = docker run --rm \
--ignore=*.css,libraries/*,dist/*,styleguide/* \
.

$(info Installing git hooks)
$(shell ln -sfn ../../scripts/git_hooks/pre-commit.sh .git/hooks/pre-commit)

## Full site install from the scratch
all: | provision composer si info
all: | provision composer si hooksymlink info

## Provision enviroment
provision:
Expand Down Expand Up @@ -151,11 +149,31 @@ phpcs:
phpcbf:
@$(call phpcsexec, phpcbf)

## Add symbolic link from custom script(s) to /.git/hooks/pre-commit
hooksymlink:
ifneq ("$(wildcard scripts/git_hooks/pre-commit.sh)","")
@echo "Installing git hooks"
$(shell ln -sf ../../scripts/git_hooks/pre-commit.sh .git/hooks/pre-commit)
else
@echo "scripts/git_hooks/pre-commit.sh file does not exist"
endif

## Execute git hooks
hookexec:
ifneq ("$(wildcard scripts/git_hooks/pre-commit.sh)","")
@echo "Executing git hooks"
@/bin/sh ./scripts/git_hooks/pre-commit.sh
else
@echo "scripts/git_hooks/pre-commit.sh file does not exist"
endif

## Inspect configuration
cinsp:
@echo "Config schema validation..."
@$(call php, drush -y en config_inspector)
@$(eval SCHEMA_ERRORS = $(shell docker-compose exec -T --user $(CUID):$(CGID) php drush inspect_config --only-error))
@$(call php, drush -y pmu config_inspector)
@if [ ! -z "$(SCHEMA_ERRORS)" ]; then echo "Error(s) in config schemas"; exit 1; fi

## Full inspection
insp: | cinsp phpcs