mirror of
https://github.com/OpenJarbas/PySychonaut.git
synced 2024-11-22 03:09:25 +01:00
license tests workflow
This commit is contained in:
parent
b3cc888c71
commit
c9053d7525
33
.github/workflows/build_tests.yml
vendored
Normal file
33
.github/workflows/build_tests.yml
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
name: Run Build Tests
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
ref: ${{ github.head_ref }}
|
||||||
|
- name: Setup Python
|
||||||
|
uses: actions/setup-python@v1
|
||||||
|
with:
|
||||||
|
python-version: 3.8
|
||||||
|
- name: Install Build Tools
|
||||||
|
run: |
|
||||||
|
python -m pip install build wheel
|
||||||
|
- name: Install System Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt install python3-dev swig libssl-dev libfann-dev portaudio19-dev libpulse-dev
|
||||||
|
- name: Build Distribution Packages
|
||||||
|
run: |
|
||||||
|
python setup.py bdist_wheel
|
||||||
|
- name: Install tflite_runtime workaround tflit bug
|
||||||
|
run: |
|
||||||
|
pip3 install numpy
|
||||||
|
pip3 install --extra-index-url https://google-coral.github.io/py-repo/ tflite_runtime
|
||||||
|
- name: Install core repo
|
||||||
|
run: |
|
||||||
|
pip install .[audio-backend,mark1,stt,tts,skills_minimal,skills,gui,bus,all]
|
35
.github/workflows/license_tests.yml
vendored
Normal file
35
.github/workflows/license_tests.yml
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
name: Run License Tests
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
license_tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
ref: ${{ github.head_ref }}
|
||||||
|
- name: Setup Python
|
||||||
|
uses: actions/setup-python@v1
|
||||||
|
with:
|
||||||
|
python-version: 3.8
|
||||||
|
- name: Install Build Tools
|
||||||
|
run: |
|
||||||
|
python -m pip install build wheel
|
||||||
|
- name: Install System Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt install python3-dev swig libssl-dev
|
||||||
|
- name: Install core repo
|
||||||
|
run: |
|
||||||
|
pip install .
|
||||||
|
- name: Install licheck
|
||||||
|
run: |
|
||||||
|
pip install git+https://github.com/NeonJarbas/lichecker
|
||||||
|
- name: Install test dependencies
|
||||||
|
run: |
|
||||||
|
pip install pytest pytest-timeout pytest-cov
|
||||||
|
- name: Test Licenses
|
||||||
|
run: |
|
||||||
|
pytest test/license_tests.py
|
55
test/license_tests.py
Normal file
55
test/license_tests.py
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
import unittest
|
||||||
|
from pprint import pprint
|
||||||
|
|
||||||
|
from lichecker import LicenseChecker
|
||||||
|
|
||||||
|
# these packages dont define license in setup.py
|
||||||
|
# manually verified and injected
|
||||||
|
license_overrides = {
|
||||||
|
"kthread": "MIT",
|
||||||
|
'yt-dlp': "Unlicense",
|
||||||
|
'pyxdg': 'GPL-2.0',
|
||||||
|
'ptyprocess': 'ISC license',
|
||||||
|
'psutil': 'BSD3'
|
||||||
|
}
|
||||||
|
# explicitly allow these packages that would fail otherwise
|
||||||
|
whitelist = [
|
||||||
|
'idna' # BSD-like
|
||||||
|
]
|
||||||
|
|
||||||
|
# validation flags
|
||||||
|
allow_nonfree = False
|
||||||
|
allow_viral = False
|
||||||
|
allow_unknown = False
|
||||||
|
allow_unlicense = True
|
||||||
|
allow_ambiguous = False
|
||||||
|
|
||||||
|
pkg_name = "PySychonaut"
|
||||||
|
|
||||||
|
|
||||||
|
class TestLicensing(unittest.TestCase):
|
||||||
|
@classmethod
|
||||||
|
def setUpClass(self):
|
||||||
|
licheck = LicenseChecker(pkg_name,
|
||||||
|
license_overrides=license_overrides,
|
||||||
|
whitelisted_packages=whitelist,
|
||||||
|
allow_ambiguous=allow_ambiguous,
|
||||||
|
allow_unlicense=allow_unlicense,
|
||||||
|
allow_unknown=allow_unknown,
|
||||||
|
allow_viral=allow_viral,
|
||||||
|
allow_nonfree=allow_nonfree)
|
||||||
|
print("Package", pkg_name)
|
||||||
|
print("Version", licheck.version)
|
||||||
|
print("License", licheck.license)
|
||||||
|
print("Transient Requirements (dependencies of dependencies)")
|
||||||
|
pprint(licheck.transient_dependencies)
|
||||||
|
self.licheck = licheck
|
||||||
|
|
||||||
|
def test_license_compliance(self):
|
||||||
|
print("Package Versions")
|
||||||
|
pprint(self.licheck.versions)
|
||||||
|
|
||||||
|
print("Dependency Licenses")
|
||||||
|
pprint(self.licheck.licenses)
|
||||||
|
|
||||||
|
self.licheck.validate()
|
Loading…
Reference in New Issue
Block a user