gilde-ci-cd/templates/license/license.gitlab-ci.yml
2022-07-08 09:55:43 +02:00

32 lines
1.2 KiB
YAML

.license-asciidoc:
image: gitlab.exxcellent.de:4567/gilden/ci/exxcellent-license-tools
stage: verify
variables:
BOM_FILE: bom.json
ALLOWED_LICENSES: valid-licenses.txt
LICENSE_ADOC_FILE: licenses.adoc
INVALID_LICENSE_ADOC_FILE: invalid-licenses.adoc
NUMBER_OF_ALLOWED_FAILURES: 0
script:
- "cd $BACKEND_DIR"
- export NUMBER_OF_INVALID_LICENSES=0
- export INVALID_BOM_FILE=invalid-bom.json
- licenseBom2Adoc --bom $BOM_FILE --adoc $LICENSE_ADOC_FILE
- >
if [ -f "$ALLOWED_LICENSES" ]; then
checkLicenseBom --bom $BOM_FILE --targetBom $INVALID_BOM_FILE --license $ALLOWED_LICENSES || NUMBER_OF_INVALID_LICENSES=$?
fi
- >
if [ "$NUMBER_OF_INVALID_LICENSES" -gt "$NUMBER_OF_ALLOWED_FAILURES" ]; then
echo "Invalid licenses found. Number of invalid license ${NUMBER_OF_INVALID_LICENSES}". See invalid-licenses file in artifacts.
licenseBom2Adoc --bom $INVALID_BOM_FILE --adoc $INVALID_LICENSE_ADOC_FILE
exit 1
else
echo "All licenses valid"
fi
artifacts:
when: always
expire_in: 2 weeks
paths:
- $LICENSE_ADOC_FILE
- $INVALID_LICENSE_ADOC_FILE