chore(elvis): only trigger in github action when pull request

This commit is contained in:
Zaiming Shi 2020-12-09 14:16:33 +01:00 committed by tigercl
parent 315d14d3ed
commit e06fcbb769
2 changed files with 11 additions and 16 deletions

View File

@ -1,6 +1,6 @@
name: Elvis Linter name: Elvis Linter
on: [push, pull_request] on: [pull_request]
jobs: jobs:
build: build:
@ -8,6 +8,4 @@ jobs:
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- run: | - run: |
echo "$GITHUB_BASE_REF" ./elvis-check.sh $GITHUB_BASE_REF
echo "$GITHUB_HEAD_REF"
./elvis-check.sh $GITHUB_BASE_REF $GITHUB_HEAD_REF

View File

@ -2,30 +2,27 @@
set -euo pipefail set -euo pipefail
echo "GITHUB_BASE_REF $1"
echo "GITHUB_HEAD_REF $2"
echo "$GITHUB_SHA"
ELVIS_VERSION='1.0.0-emqx-1' ELVIS_VERSION='1.0.0-emqx-1'
base=${GITHUB_BASE_REF:-$1} base=${GITHUB_BASE_REF:-$1}
elvis_version="${3:-$ELVIS_VERSION}" elvis_version="${2:-$ELVIS_VERSION}"
echo "$elvis_version" echo "elvis -v: $elvis_version"
echo "$base" echo "git diff base: $base"
if [ ! -f ./elvis ] || [ "$(./elvis -v | grep -oE '[1-9]+\.[0-9]+\.[0-9]+\-emqx-[0-9]+')" != "$ELVIS_VERSION" ]; then if [ ! -f ./elvis ] || [ "$(./elvis -v | grep -oE '[1-9]+\.[0-9]+\.[0-9]+\-emqx-[0-9]+')" != "$elvis_version" ]; then
curl -fLO "https://github.com/emqx/elvis/releases/download/$elvis_version/elvis" curl -fLO "https://github.com/emqx/elvis/releases/download/$elvis_version/elvis"
chmod +x ./elvis chmod +x ./elvis
fi fi
git fetch origin "$base" git fetch origin "$base"
git checkout -b refBranch HEAD
git diff --name-only origin/"$base" refBranch git_diff() {
git diff --name-only origin/"$base"...HEAD
}
bad_file_count=0 bad_file_count=0
for n in $(git diff --name-only origin/"$base" refBranch); do for n in $(git_diff); do
if ! ./elvis rock "$n"; then if ! ./elvis rock "$n"; then
bad_file_count=$(( bad_file_count + 1)) bad_file_count=$(( bad_file_count + 1))
fi fi