mirror of
https://github.com/OpenJarbas/PySychonaut.git
synced 2024-11-21 18:59:24 +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