|
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.ya?ml"
|
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 | 13 | - "COPYING*"
|
10 | 14 | - "LICENCE*"
|
11 | 15 | - "LICENSE*"
|
12 | 16 | pull_request:
|
13 | 17 | paths:
|
14 | 18 | - ".github/workflows/check-license.ya?ml"
|
15 |
| - - "Taskfile.yml" |
16 | 19 | - "COPYING*"
|
17 | 20 | - "LICENCE*"
|
18 | 21 | - "LICENSE*"
|
|
25 | 28 | - name: Checkout local repository
|
26 | 29 | uses: actions/checkout@v2
|
27 | 30 |
|
28 |
| - - name: Install Taskfile |
29 |
| - uses: arduino/setup-task@v1 |
30 |
| - with: |
31 |
| - repo-token: ${{ secrets.GITHUB_TOKEN }} |
32 |
| - version: 3.x |
33 |
| - |
34 | 31 | - uses: ruby/setup-ruby@v1
|
35 | 32 | with:
|
36 | 33 | ruby-version: ruby # Install latest version
|
|
40 | 37 |
|
41 | 38 | # See: https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository
|
42 | 39 | - name: Check license file
|
43 |
| - run: task --silent docs:check-license |
| 40 | + run: | |
| 41 | + # See: https://github.com/licensee/licensee |
| 42 | + LICENSEE_OUTPUT="$(licensee detect --json --confidence=100)" |
| 43 | +
|
| 44 | + DETECTED_LICENSE_FILE="$(echo "$LICENSEE_OUTPUT" | jq .matched_files[0].filename | tr --delete '\r')" |
| 45 | + echo "Detected license file: $DETECTED_LICENSE_FILE" |
| 46 | + if [ "$DETECTED_LICENSE_FILE" != "\"${EXPECTED_LICENSE_FILENAME}\"" ]; then |
| 47 | + echo "ERROR: detected license file doesn't match expected: $EXPECTED_LICENSE_FILENAME" |
| 48 | + exit 1 |
| 49 | + fi |
| 50 | +
|
| 51 | + DETECTED_LICENSE_TYPE="$(echo "$LICENSEE_OUTPUT" | jq .matched_files[0].matched_license | tr --delete '\r')" |
| 52 | + echo "Detected license type: $DETECTED_LICENSE_TYPE" |
| 53 | + if [ "$DETECTED_LICENSE_TYPE" != "\"${EXPECTED_LICENSE_TYPE}\"" ]; then |
| 54 | + echo "ERROR: detected license type doesn't match expected $EXPECTED_LICENSE_TYPE" |
| 55 | + exit 1 |
| 56 | + fi |
0 commit comments