Update and rename readme.md to README.md #70
Workflow file for this run
This file contains hidden or 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
| name: License Header Check | |
| on: | |
| pull_request: | |
| push: | |
| branches: [ "main", "master" ] | |
| jobs: | |
| check-license: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check for License Headers | |
| run: | | |
| failed=0 | |
| # Find files: .sh, .go, .swift, .py | |
| # Exclude hidden directories/files (like inside .git) | |
| files=$(find . -type f \( -name "*.sh" -o -name "*.go" -o -name "*.swift" -o -name "*.py" -o -name "README.md" \) -not -path '*/.*') | |
| for file in $files; do | |
| if [ "$file" = "./README.md" ]; then | |
| continue | |
| fi | |
| missing_reqs=0 | |
| # Requirement 1: A line with both "Copyright" and "Jamf" | |
| # We grep for Copyright, then pipe to grep for Jamf to ensure they are on the same line. | |
| if ! grep "Copyright" "$file" | grep -q "Jamf"; then | |
| echo "::error file=$file::Missing 'Copyright' and 'Jamf' on the same line." | |
| missing_reqs=1 | |
| fi | |
| filename=$(basename "${file}") | |
| if [ "${filename}" = "README.md" ]; then | |
| echo "skipping license check for: ${file}" | |
| else | |
| # Requirement 2: Specific license string | |
| if ! grep -Fq "This work is licensed under the terms of the Jamf Source Available License" "$file"; then | |
| echo "::error file=$file::Missing 'This work is licensed under the terms of the Jamf Source Available License'" | |
| missing_reqs=1 | |
| fi | |
| # Requirement 3: License URL | |
| if ! grep -Fq "https://github.com/jamf/scripts/blob/main/LICENCE.md" "$file"; then | |
| echo "::error file=$file::Missing 'https://github.com/jamf/scripts/blob/main/LICENCE.md'" | |
| missing_reqs=1 | |
| fi | |
| fi | |
| if [ $missing_reqs -eq 1 ]; then | |
| failed=1 | |
| fi | |
| done | |
| if [ $failed -eq 1 ]; then | |
| echo "One or more files are missing required license headers." | |
| exit 1 | |
| else | |
| echo "All scanned files contain the required license headers." | |
| fi |