1919
2020set -euo pipefail
2121
22+ # Print CI diagnostics
23+ echo " License verification started at: $( date -u ' +%Y-%m-%dT%H:%M:%SZ' ) "
24+ echo " Runner: $( hostname) ($( uname -srm) )"
25+ echo " User: $( whoami) "
26+ echo " Working directory: $( pwd) "
27+
2228REPO_ROOT=" $( cd " $( dirname " $0 " ) /.." && pwd) "
2329CURRENT_YEAR=" $( date +%Y) "
2430MIN_YEAR=" 2025"
@@ -46,9 +52,6 @@ IGNORED_PATHS=(
4652is_k8s_mock_go () {
4753 local file=" ${1-} "
4854 [[ -z " $file " ]] && return 1
49- # Skip any Go mocks under kubernetes/internal:
50- # - filenames ending with _mock.go
51- # - any file under a /mock/ directory
5255 if [[ " $file " != kubernetes/internal/* ]]; then
5356 return 1
5457 fi
@@ -63,7 +66,6 @@ is_k8s_mock_go() {
6366
6467is_generated_to_skip () {
6568 local file=" $1 "
66- # Skip common generated files
6769 if [[ " $file " == * " deepcopy.go" ]]; then
6870 return 0
6971 fi
@@ -112,25 +114,20 @@ has_expected_basename() {
112114missing=()
113115
114116while IFS= read -r file; do
115- # Skip ignored paths
116117 if is_ignored " $file " ; then
117118 continue
118119 fi
119- # Skip kubernetes internal mock go files
120120 if is_k8s_mock_go " $file " ; then
121121 continue
122122 fi
123- # Skip generated files
124123 if is_generated_to_skip " $file " ; then
125124 continue
126125 fi
127126
128- # Only check files with expected extensions or basenames
129127 if ! has_expected_extension " $file " && ! has_expected_basename " $file " ; then
130128 continue
131129 fi
132130
133- # Limit scan to the first 25 lines to allow shebangs/DOCTYPE above the header.
134131 header=" $( head -n 25 " $file " ) "
135132 if ! echo " $header " | grep -Eq " $LICENSE_REGEX " ; then
136133 missing+=(" $file " )
0 commit comments