moby/hack/validate/no-module
Bjorn Neergaard a6818fd4cb
hack: introduce validate/no-module
Moby is not a Go module; to prevent anyone from mistakenly trying to
convert it to one before we are ready, introduce a check (usable in CI
and locally) for a go.mod file.

This is preferable to trying to .gitignore the file as we can ensure
that a mistakenly created go.mod is surfaced by Git-based tooling and is
less likely to surprise a contributor.

Signed-off-by: Bjorn Neergaard <bneergaard@mirantis.com>
(cherry picked from commit 25c3421802)
Signed-off-by: Bjorn Neergaard <bneergaard@mirantis.com>
2022-12-13 14:42:07 -07:00

17 lines
435 B
Bash
Executable file

#!/usr/bin/env bash
#
# Check that no one is trying to commit a go.mod.
SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOTDIR="$(git -C "$SCRIPTDIR" rev-parse --show-toplevel)"
if test -e "${ROOTDIR}/go.mod"; then
{
echo 'FAIL: go.mod found in repository root!'
echo
echo ' Moby is not a Go module; please delete go.mod and try again.'
} >&2
exit 1
else
echo 'PASS: No go.mod found in repository root!'
fi