58 lines
1.9 KiB
Bash
Executable File
58 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Checks commit message, ...
|
|
|
|
run() {
|
|
checkCommitMessage
|
|
}
|
|
|
|
checkCommitMessage() {
|
|
info_msg "Commit message: ${TRAVIS_COMMIT_MSG}";
|
|
info_msg "Is pull request: ${TRAVIS_PULL_REQUEST}";
|
|
|
|
if [[ $TRAVIS_PULL_REQUEST != "false" ]];then
|
|
if [[ $TRAVIS_COMMIT_MSG != *"Signed-off-by: "* ]];then
|
|
error_msg "The commit message does not contain the signature!"
|
|
error_msg "More information: https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md#sign-your-work"
|
|
addMissingSignatureInfos
|
|
exit 1
|
|
else
|
|
success_msg "Commit message contains signature"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
addMissingSignatureInfos() {
|
|
if [[ $BUILD_VERSION == "" ]]; then
|
|
local TEXT="Hi,\n\
|
|
thanks for the pull request!\n\
|
|
\n\
|
|
Please read our [contributing policy](https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md). You'll need to make a pull request with the \\\"Signed-off-by:\\\" signature being the last line of your commit message, like it is described in [sign your work](https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md#sign-your-work) section. That will grant your work into the public domain.\n\
|
|
\n\
|
|
(See [travis build](https://travis-ci.org/telegramdesktop/tdesktop/jobs/${TRAVIS_JOB_ID}))"
|
|
addCommentToGitHub "${TEXT}"
|
|
addLabelToGitHub "missing signature"
|
|
info_msg "Added missing signature info on github"
|
|
fi
|
|
}
|
|
|
|
addCommentToGitHub() {
|
|
local BODY=$1
|
|
sendGitHubRequest "POST" "{\"body\": \"${BODY}\"}" "repos/${TRAVIS_REPO_SLUG}/issues/${TRAVIS_PULL_REQUEST}/comments"
|
|
}
|
|
|
|
addLabelToGitHub() {
|
|
local LABEL=$1
|
|
sendGitHubRequest "PATCH" "{\"labels\": [\"${LABEL}\"]}" "repos/${TRAVIS_REPO_SLUG}/issues/${TRAVIS_PULL_REQUEST}"
|
|
}
|
|
|
|
sendGitHubRequest() {
|
|
local METHOD=$1
|
|
local BODY=$2
|
|
local URI=$3
|
|
curl -H "Authorization: token ${GH_AUTH_TOKEN}" --request "${METHOD}" --data "${BODY}" --silent "https://api.github.com/${URI}" > /dev/null
|
|
}
|
|
|
|
source ./.travis/common.sh
|
|
|
|
run
|