|
1 | 1 | name: Check license
|
2 | 2 |
|
| 3 | +env: |
| 4 | + EXPECTED_LICENSE_FILENAME: LICENSE.txt |
| 5 | + # SPDX identifier: https://spdx.org/licenses/ |
| 6 | + EXPECTED_LICENSE_TYPE: GPL-3.0 |
| 7 | + |
3 | 8 | on:
|
4 | 9 | push:
|
5 | 10 | paths:
|
6 | 11 | - ".github/workflows/check-license.yml"
|
7 |
| - - "Taskfile.yml" |
8 | 12 | # Recognized license files. See: https://github.com/licensee/licensee/blob/master/docs/what-we-look-at.md#detecting-the-license-file
|
9 |
| - - "COPYING*" |
10 |
| - - "LICENCE*" |
11 |
| - - "LICENSE*" |
| 13 | + - "[cC][oO][pP][yY][iI][nN][gG]*" |
| 14 | + - "[cC][oO][pP][yY][rR][iI][gG][hH][tH]*" |
| 15 | + - "[lL][iI][cC][eE][nN][cCsS][eE]*" |
| 16 | + - "[oO][fF][lL]*" |
| 17 | + - "[pP][aA][tT][eE][nN][tT][sS]*" |
12 | 18 | pull_request:
|
13 | 19 | paths:
|
14 | 20 | - ".github/workflows/check-license.yml"
|
15 |
| - - "Taskfile.yml" |
16 |
| - # Recognized license files. See: https://github.com/licensee/licensee/blob/master/docs/what-we-look-at.md#detecting-the-license-file |
17 |
| - - "COPYING*" |
18 |
| - - "LICENCE*" |
19 |
| - - "LICENSE*" |
| 21 | + - "[cC][oO][pP][yY][iI][nN][gG]*" |
| 22 | + - "[cC][oO][pP][yY][rR][iI][gG][hH][tH]*" |
| 23 | + - "[lL][iI][cC][eE][nN][cCsS][eE]*" |
| 24 | + - "[oO][fF][lL]*" |
| 25 | + - "[pP][aA][tT][eE][nN][tT][sS]*" |
20 | 26 |
|
21 | 27 | jobs:
|
22 | 28 | check:
|
|
26 | 32 | - name: Checkout local repository
|
27 | 33 | uses: actions/checkout@v2
|
28 | 34 |
|
29 |
| - - name: Install Taskfile |
30 |
| - uses: arduino/actions/setup-taskfile@master |
31 |
| - with: |
32 |
| - repo-token: ${{ secrets.GITHUB_TOKEN }} |
33 |
| - version: 3.x |
34 |
| - |
35 | 35 | - uses: ruby/setup-ruby@v1
|
36 | 36 | with:
|
37 | 37 | ruby-version: ruby # Install latest version
|
|
41 | 41 |
|
42 | 42 | # See: https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository
|
43 | 43 | - name: Check license file
|
44 |
| - run: task --silent docs:check-license |
| 44 | + run: | |
| 45 | + # See: https://github.com/licensee/licensee |
| 46 | + LICENSEE_OUTPUT="$(licensee detect --json --confidence=100)" |
| 47 | +
|
| 48 | + DETECTED_LICENSE_FILE="$(echo "$LICENSEE_OUTPUT" | jq .matched_files[0].filename | tr --delete '\r')" |
| 49 | + echo "Detected license file: $DETECTED_LICENSE_FILE" |
| 50 | + if [ "$DETECTED_LICENSE_FILE" != "\"$EXPECTED_LICENSE_FILENAME\"" ]; then |
| 51 | + echo "ERROR: detected license file doesn't match expected: $EXPECTED_LICENSE_FILENAME" |
| 52 | + exit 1 |
| 53 | + fi |
| 54 | +
|
| 55 | + DETECTED_LICENSE_TYPE="$(echo "$LICENSEE_OUTPUT" | jq .matched_files[0].matched_license | tr --delete '\r')" |
| 56 | + echo "Detected license type: $DETECTED_LICENSE_TYPE" |
| 57 | + if [ "$DETECTED_LICENSE_TYPE" != "\"$EXPECTED_LICENSE_TYPE\"" ]; then |
| 58 | + echo "ERROR: detected license type doesn't match expected $EXPECTED_LICENSE_TYPE" |
| 59 | + exit 1 |
| 60 | + fi |
0 commit comments