-
Notifications
You must be signed in to change notification settings - Fork 149
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add copyright header check to CI. (#463)
* Add copyright header check to CI. * Debug CI failure. * Add explicit ripgrep search path. * Remove CI debug code. * Add invalid shader license. * Add invalid license capitalization. * Remove all CI testing changes. * Add more robust multi-author support. * Escape the dot in the copyright regex.
- Loading branch information
Showing
3 changed files
with
46 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
#!/bin/bash | ||
|
||
# If there are new files with headers that can't match the conditions here, | ||
# then the files can be ignored by an additional glob argument via the -g flag. | ||
# For example: | ||
# -g "!src/special_file.rs" | ||
# -g "!src/special_directory" | ||
|
||
# Check all the standard Rust source files | ||
output=$(rg "^// Copyright (19|20)[\d]{2} (.+ and )?the Vello Authors( and .+)?$\n^// SPDX-License-Identifier: Apache-2\.0 OR MIT$\n\n" --files-without-match --multiline -g "*.rs" -g "!{shader,src/cpu_shader}" .) | ||
|
||
if [ -n "$output" ]; then | ||
echo -e "The following files lack the correct copyright header:\n" | ||
echo $output | ||
echo -e "\n\nPlease add the following header:\n" | ||
echo "// Copyright $(date +%Y) the Vello Authors" | ||
echo "// SPDX-License-Identifier: Apache-2.0 OR MIT" | ||
echo -e "\n... rest of the file ...\n" | ||
exit 1 | ||
fi | ||
|
||
# Check all the shaders, both WGSL and CPU shaders in Rust, as they also have Unlicense | ||
output=$(rg "^// Copyright (19|20)[\d]{2} (.+ and )?the Vello Authors( and .+)?$\n^// SPDX-License-Identifier: Apache-2\.0 OR MIT OR Unlicense$\n\n" --files-without-match --multiline -g "{shader,src/cpu_shader}/**/*.{rs,wgsl}" .) | ||
|
||
if [ -n "$output" ]; then | ||
echo -e "The following shader files lack the correct copyright header:\n" | ||
echo $output | ||
echo -e "\n\nPlease add the following header:\n" | ||
echo "// Copyright $(date +%Y) the Vello Authors" | ||
echo "// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense" | ||
echo -e "\n... rest of the file ...\n" | ||
exit 1 | ||
fi | ||
|
||
echo "All files have correct copyright headers." | ||
exit 0 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters