License conformity
Description
Templates de jobs de CI pour vérifier la conformité à des licences.
Visuals
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
Installation
You should call this jobs on a docker enable runner.
The jobs are called on the check_docker
stage. You can change this when extending the job.
Usage
Python
This job uses pylic
to check that all the python modules in the current venv are compatible with Affero GPL3 License
You should call the job on a docker image that inherits from python. The entryppoint of your image should allow the execution of a command, override it if it is not the case.
You need to have curl
installed.
Include the correct template in your .gitlab-ci.yml :
include:
- project: neogeo/license-conformity
file: /templates/check_license.yaml
ref: main
Then you can invoke a job that extents .check_license_conformity_python_docker
job template :
check_licence_conformity:
extends: .check_license_conformity_python_docker
stage: check
image:
name: neogeo/onegeo-suite:licence_check
entrypoint:
- ''
Javascript
This job uses license-checker
to check the dependencies conformities to AGPL3 (the ones declared on th package.json).
This job uses a standart nodejs docker image to check the dependencies.
Include the correct template in your .gitlab-ci.yml :
include:
- project: neogeo/license-conformity
file: /templates/check_license.yaml
ref: main
Then you can invoke a job that extents .check_license_conformity_javascript
job template :
check_licenses_nodejs:
extends: .check_license_conformity_javascript
stage: test-build
Support
Request help on Neogeo slack #techs
Roadmap
N/A
Contributing
Open to contributions:
- CI Jobs that handle new languages or other way to check licences
- Improvement in licenses compatibility data
Authors and acknowledgment
Sébastien DA ROCHA @ Neogeo Technologies
License
Affero GPL 3.0
Project status
Maintenance