@@ -40,17 +40,23 @@ jobs:
40
40
echo "::set-output name=dependency-licenses::${dependency_licenses}"
41
41
42
42
- name : ' Compare Dependency licenses'
43
+ id : compare-dependency-licenses
43
44
run : |
44
45
dependency_licenses=${{ steps.parse-dependency-licenses.outputs.dependency-licenses }}
45
46
permitted_licenses="MIT,Apache-2.0,BSD,EPL1"
47
+ non_compliant_packages=""
46
48
for package in $(echo "${dependency_licenses}" | jq -r '.[] | .Package')
47
49
do
48
50
license=$(echo "${dependency_licenses}" | jq -r --arg package "$package" '.[] | select(.Package == $package) | .License')
49
51
if [[ ! ",${permitted_licenses}," =~ ",${license}," ]]; then
50
52
echo "Error: Package $package has an unrecognized license: $license"
51
- exit 1
53
+ non_compliant_packages+="Package $package has an unrecognized license: $license\n"
52
54
fi
53
55
done
56
+ echo "::set-output name=non-compliant-packages::${non_compliant_packages}"
57
+ if [ -n "${non_compliant_packages}" ]; then
58
+ exit 1
59
+ fi
54
60
55
61
- name : ' Upload Dependency License Report'
56
62
if : always()
59
65
name : dependency-license-report
60
66
path : dependency_licenses.json
61
67
68
+ - name : ' Upload License Compliance Results'
69
+ if : always()
70
+ uses : actions/upload-artifact@v2
71
+ with :
72
+ name : license-compliance-results
73
+ path : license_compliance_results.txt
74
+
62
75
- name : License compliance summary
63
76
run : echo "License compliance check completed. See artifacts for details."
0 commit comments