From d820f48f35f6fcf5f0243beafe154e07e97022c8 Mon Sep 17 00:00:00 2001 From: Ben Clayton Date: Fri, 8 Apr 2022 16:55:56 +0000 Subject: [PATCH] Kokoro: Ensure that no CRLF creep in Bug: dawn:1339 Change-Id: Ie617969521c20a86763080c3400054ea2fad6779 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86141 Reviewed-by: Antonio Maiorano Commit-Queue: Ben Clayton --- infra/kokoro/linux/docker.sh | 3 +++ tools/check-no-crlf | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100755 tools/check-no-crlf diff --git a/infra/kokoro/linux/docker.sh b/infra/kokoro/linux/docker.sh index 65e10f0f79..e8608a6b1f 100755 --- a/infra/kokoro/linux/docker.sh +++ b/infra/kokoro/linux/docker.sh @@ -86,6 +86,9 @@ status "Cloning to source directory '${SRC_DIR}'" cd ${SRC_DIR} git clone ${CLONE_SRC_DIR} . +status "Checking for CRLF" +./tools/check-no-crlf + status "Fetching dependencies" cp scripts/standalone.gclient .gclient with_retry gclient sync diff --git a/tools/check-no-crlf b/tools/check-no-crlf new file mode 100755 index 0000000000..1bfb5ee4df --- /dev/null +++ b/tools/check-no-crlf @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2022 The Tint Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# If there are files in the repo with CRLF endings, then they will be printed +# and the script will exit with 1. If there are no files with CRLF endings, then +# the script will print nothing and will exit with 0. + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" +ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" +CRLF_FILES=$(git -C ${ROOT_DIR} grep -I --files-with-matches --perl-regexp '\r' .) +if [ ! -z ${CRLF_FILES} ]; then + echo "The following files contain CRLF characters:" + echo ${CRLF_FILES} + exit 1 +fi