diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..8fa42f6da6 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,2 @@ +language: ruby +script: make check diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..b093e6b6ad --- /dev/null +++ b/Makefile @@ -0,0 +1,40 @@ +RULES := rule-source-added \ + rule-translation-requested \ + rule-translation-completed \ + rule-translation-revised \ + rule-translation-published +.PHONY: check match $(RULES) + +CHANGE_FILE := /tmp/changes + +check: $(CHANGE_FILE) + echo 'PR #$(TRAVIS_PULL_REQUEST) Changes:' + cat $(CHANGE_FILE) + echo + echo 'Check for rules...' + make -k $(RULES) 2>/dev/null | grep '^Rule Matched: ' + +$(CHANGE_FILE): + git --no-pager diff '$(TRAVIS_PULL_REQUEST_BRANCH)' FETCH_HEAD --no-renames --name-status > $@ + +rule-source-added: + [[ $(shell grep '^A\s\+sources/' $(CHANGE_FILE) | wc -l) -ge 1 ]] + echo 'Rule Matched: $(@)' + +rule-translation-requested: + [[ $(shell grep '^M\s\+sources/' $(CHANGE_FILE) | wc -l) = 1 ]] + echo 'Rule Matched: $(@)' + +rule-translation-completed: + [[ $(shell grep '^D\s\+sources/' $(CHANGE_FILE) | wc -l) = 1 ]] + [[ $(shell grep '^A\s\+translated/' $(CHANGE_FILE) | wc -l) = 1 ]] + echo 'Rule Matched: $(@)' + +rule-translation-revised: + [[ $(shell grep '^M\s\+translated/' $(CHANGE_FILE) | wc -l) = 1 ]] + echo 'Rule Matched: $(@)' + +rule-translation-published: + [[ $(shell grep '^D\s\+translated/' $(CHANGE_FILE) | wc -l) = 1 ]] + [[ $(shell grep '^A\s\+published/' $(CHANGE_FILE) | wc -l) = 1 ]] + echo 'Rule Matched: $(@)'