parent
538ac6bcf5
commit
aad561a10d
|
@ -12,6 +12,9 @@ addons:
|
|||
packages:
|
||||
- docker-ce
|
||||
|
||||
before_install:
|
||||
- source functions.sh && images_updated $TRAVIS_COMMIT_RANGE || tests_updated $TRAVIS_COMMIT_RANGE || travis_terminate
|
||||
|
||||
script: ./test-build.sh $NODE_VERSION $VARIANT
|
||||
|
||||
stages:
|
||||
|
|
51
functions.sh
51
functions.sh
|
@ -239,3 +239,54 @@ function sort_versions() {
|
|||
|
||||
echo "${sorted[@]}"
|
||||
}
|
||||
|
||||
function commit_range() {
|
||||
local commit_id_end=${1}
|
||||
shift
|
||||
local commit_id_start=${1}
|
||||
|
||||
if [ -z "${commit_id_start}" ]; then
|
||||
if [ -z "${commit_id_end}" ]; then
|
||||
echo "HEAD~1..HEAD"
|
||||
elif [[ "${commit_id_end}" =~ .. ]]; then
|
||||
echo "${commit_id_end}"
|
||||
else
|
||||
echo "${commit_id_end}~1..${commit_id_end}"
|
||||
fi
|
||||
else
|
||||
echo "${commit_id_end}..${commit_id_start}"
|
||||
fi
|
||||
}
|
||||
|
||||
function images_updated() {
|
||||
local commit_range
|
||||
local versions
|
||||
local images_changed
|
||||
|
||||
commit_range="$(commit_range "$@")"
|
||||
|
||||
IFS=' ' read -ra versions <<<"$(
|
||||
IFS=','
|
||||
get_versions
|
||||
)"
|
||||
images_changed=$(git diff --name-only "${commit_range}" "${versions[@]}")
|
||||
|
||||
if [ -z "${images_changed}" ]; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
function tests_updated() {
|
||||
local commit_range
|
||||
local test_changed
|
||||
|
||||
commit_range="$(commit_range "$@")"
|
||||
|
||||
test_changed=$(git diff --name-only "${commit_range}" test*)
|
||||
|
||||
if [ -z "${test_changed}" ]; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
|
|
@ -31,22 +31,6 @@ UPSTREAM_SLUG="docker-library/${REPO_NAME}"
|
|||
DOCKER_SLUG="nodejs/docker-node"
|
||||
gitpath="../${REPO_NAME}"
|
||||
|
||||
function updated() {
|
||||
local versions
|
||||
local images_changed
|
||||
|
||||
IFS=' ' read -ra versions <<<"$(
|
||||
IFS=','
|
||||
get_versions
|
||||
)"
|
||||
images_changed=$(git diff --name-only "${COMMIT_ID}".."${COMMIT_ID}"~1 "${versions[@]}")
|
||||
|
||||
if [ -z "${images_changed}" ]; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
function auth_header() {
|
||||
echo "Authorization: token ${GITHUB_API_TOKEN}"
|
||||
}
|
||||
|
@ -104,7 +88,7 @@ function comment_payload() {
|
|||
}"
|
||||
}
|
||||
|
||||
if updated; then
|
||||
if images_updated "${COMMIT_ID}"; then
|
||||
|
||||
permission_check
|
||||
|
||||
|
|
|
@ -10,6 +10,9 @@ addons:
|
|||
packages:
|
||||
- docker-ce
|
||||
|
||||
before_install:
|
||||
- source functions.sh && images_updated $TRAVIS_COMMIT_RANGE || tests_updated $TRAVIS_COMMIT_RANGE || travis_terminate
|
||||
|
||||
script: ./test-build.sh $NODE_VERSION $VARIANT
|
||||
|
||||
stages:
|
||||
|
|
Loading…
Reference in New Issue