From 32269f3d867190ca519b53b7ce941b7105cf5eff Mon Sep 17 00:00:00 2001 From: Chris McGee Date: Wed, 14 May 2025 10:42:41 -0400 Subject: [PATCH 1/3] Add swift version files as exclusions to the license header checks --- .github/workflows/scripts/check-license-header.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/scripts/check-license-header.sh b/.github/workflows/scripts/check-license-header.sh index 845eb254..cdc1223e 100755 --- a/.github/workflows/scripts/check-license-header.sh +++ b/.github/workflows/scripts/check-license-header.sh @@ -47,6 +47,8 @@ else exclude_list=":(exclude).license_header_template" fi +exclude_list="${exclude_list}:(exclude).swift-version" # Swift version files will never have license headers in them + file_paths=$(echo "$exclude_list" | xargs git ls-files) while IFS= read -r file_path; do From 3bcbd80f78be3814ec3a8ce9ffe0ab58031bed5f Mon Sep 17 00:00:00 2001 From: Chris McGee Date: Wed, 14 May 2025 12:30:32 -0400 Subject: [PATCH 2/3] Split out static, and dynamic exclude lists --- .../workflows/scripts/check-license-header.sh | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/scripts/check-license-header.sh b/.github/workflows/scripts/check-license-header.sh index cdc1223e..0ee65dff 100755 --- a/.github/workflows/scripts/check-license-header.sh +++ b/.github/workflows/scripts/check-license-header.sh @@ -39,17 +39,20 @@ fi paths_with_missing_license=( ) +static_exclude_list=( ) +static_exclude_list+=( '":(exclude).license_header_template"' ) +static_exclude_list+=( '":(exclude).swift-version"' ) # Swift version files do not have comments nor licenses in them +dynamic_exclude_list=( ) + if [[ -f .licenseignore ]]; then - static_exclude_list='":(exclude).licenseignore" ":(exclude).license_header_template" ' - dynamic_exclude_list=$(tr '\n' '\0' < .licenseignore | xargs -0 -I% printf '":(exclude)%" ') - exclude_list=$static_exclude_list$dynamic_exclude_list -else - exclude_list=":(exclude).license_header_template" + static_exclude_list+=( '":(exclude).licenseignore"' ) + IFS=$'\n' read -d '' -r -a dynamic_exclude_list <<< $(sed -E 's/^(.*)$/":(exclude)\1"/' <.licenseignore) fi -exclude_list="${exclude_list}:(exclude).swift-version" # Swift version files will never have license headers in them +exclude_list=( "${static_exclude_list[@]}" "${dynamic_exclude_list[@]}" ) +excludes=$(IFS=" " ; echo "${exclude_list[*]}") -file_paths=$(echo "$exclude_list" | xargs git ls-files) +file_paths=$(echo "$excludes" | xargs git ls-files) while IFS= read -r file_path; do file_basename=$(basename -- "${file_path}") From 2811d950daac42d3c802f6a3e122b5b942511b01 Mon Sep 17 00:00:00 2001 From: Chris McGee Date: Wed, 14 May 2025 12:32:50 -0400 Subject: [PATCH 3/3] Fix shellcheck error --- .github/workflows/scripts/check-license-header.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scripts/check-license-header.sh b/.github/workflows/scripts/check-license-header.sh index 0ee65dff..49f9e2f9 100755 --- a/.github/workflows/scripts/check-license-header.sh +++ b/.github/workflows/scripts/check-license-header.sh @@ -46,7 +46,7 @@ dynamic_exclude_list=( ) if [[ -f .licenseignore ]]; then static_exclude_list+=( '":(exclude).licenseignore"' ) - IFS=$'\n' read -d '' -r -a dynamic_exclude_list <<< $(sed -E 's/^(.*)$/":(exclude)\1"/' <.licenseignore) + IFS=$'\n' read -d '' -r -a dynamic_exclude_list <<< "$(sed -E 's/^(.*)$/":(exclude)\1"/' <.licenseignore)" fi exclude_list=( "${static_exclude_list[@]}" "${dynamic_exclude_list[@]}" )