From 018b7dc76d73ec4ebca24b1e024581db957b0f55 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sat, 9 Jan 2021 17:16:35 +0800 Subject: [PATCH] use a text-based comparison in the go-generate workflow --- .github/workflows/go-generate.sh | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/go-generate.sh b/.github/workflows/go-generate.sh index ddce6eb8c..727d04b1f 100755 --- a/.github/workflows/go-generate.sh +++ b/.github/workflows/go-generate.sh @@ -2,7 +2,14 @@ set -e -find . -type f -name "*.go" -exec shasum {} \; > checksums_before.txt +DIR=$(pwd) +TMP=$(mktemp -d) +cd "$TMP" +mkdir orig generated +cp -r "$DIR" orig +cp -r "$DIR" generated + +cd generated # delete all go-generated files generated (that adhere to the comment convention) grep --include \*.go -lrIZ "^// Code generated .* DO NOT EDIT\.$" . | xargs --null rm # delete all files generated by Genny @@ -11,11 +18,7 @@ grep --include \*.go -lrIZ "This file was automatically generated by genny." . | grep --include \*.go -lrI "//go:generate genny" | xargs -L 1 go generate # now generate everything go generate ./... -find . -type f -name "*.go" -exec shasum {} \; > checksums_after.txt -DIFF=$(diff checksums_before.txt checksums_after.txt) || true -echo "$DIFF" -if [ -n "$DIFF" ]; then - exit 1 -else - echo "All generated files match." -fi +cd .. + +# don't compare fuzzing corpora +diff --exclude=corpus -ruN orig generated