1
+ # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-license.md
1
2
name : Check License
2
3
3
4
env :
4
5
EXPECTED_LICENSE_FILENAME : LICENSE.txt
5
6
# SPDX identifier: https://spdx.org/licenses/
6
7
EXPECTED_LICENSE_TYPE : CC0-1.0
7
8
8
- # See: https://docs.github.com/en/free-pro-team@latest/ actions/reference/events-that-trigger-workflows
9
+ # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows
9
10
on :
10
11
push :
11
12
paths :
12
- - " .github/workflows/check-license.yml "
13
+ - " .github/workflows/check-license.ya?ml "
13
14
# See: https://github.com/licensee/licensee/blob/master/docs/what-we-look-at.md#detecting-the-license-file
14
15
- " [cC][oO][pP][yY][iI][nN][gG]*"
15
16
- " [cC][oO][pP][yY][rR][iI][gG][hH][tH]*"
18
19
- " [pP][aA][tT][eE][nN][tT][sS]*"
19
20
pull_request :
20
21
paths :
21
- - " .github/workflows/check-license.yml "
22
+ - " .github/workflows/check-license.ya?ml "
22
23
- " [cC][oO][pP][yY][iI][nN][gG]*"
23
24
- " [cC][oO][pP][yY][rR][iI][gG][hH][tH]*"
24
25
- " [lL][iI][cC][eE][nN][cCsS][eE]*"
@@ -45,19 +46,22 @@ jobs:
45
46
46
47
- name : Check license file
47
48
run : |
49
+ EXIT_STATUS=0
48
50
# See: https://github.com/licensee/licensee
49
51
LICENSEE_OUTPUT="$(licensee detect --json --confidence=100)"
50
52
51
53
DETECTED_LICENSE_FILE="$(echo "$LICENSEE_OUTPUT" | jq .matched_files[0].filename | tr --delete '\r')"
52
54
echo "Detected license file: $DETECTED_LICENSE_FILE"
53
- if [ "$DETECTED_LICENSE_FILE" != "\"$EXPECTED_LICENSE_FILENAME\"" ]; then
54
- echo "ERROR: detected license file doesn't match expected: $EXPECTED_LICENSE_FILENAME"
55
- exit 1
55
+ if [ "$DETECTED_LICENSE_FILE" != "\"${ EXPECTED_LICENSE_FILENAME} \"" ]; then
56
+ echo "::error file=${DETECTED_LICENSE_FILE}:: detected license file $DETECTED_LICENSE_FILE doesn't match expected: $EXPECTED_LICENSE_FILENAME"
57
+ EXIT_STATUS= 1
56
58
fi
57
59
58
60
DETECTED_LICENSE_TYPE="$(echo "$LICENSEE_OUTPUT" | jq .matched_files[0].matched_license | tr --delete '\r')"
59
61
echo "Detected license type: $DETECTED_LICENSE_TYPE"
60
- if [ "$DETECTED_LICENSE_TYPE" != "\"$EXPECTED_LICENSE_TYPE\"" ]; then
61
- echo "ERROR: detected license type doesn't match expected $ EXPECTED_LICENSE_TYPE"
62
- exit 1
62
+ if [ "$DETECTED_LICENSE_TYPE" != "\"${ EXPECTED_LICENSE_TYPE} \"" ]; then
63
+ echo "::error file=${DETECTED_LICENSE_FILE}:: detected license type $DETECTED_LICENSE_TYPE doesn't match expected \"${ EXPECTED_LICENSE_TYPE}\" "
64
+ EXIT_STATUS= 1
63
65
fi
66
+
67
+ exit $EXIT_STATUS
0 commit comments