add gui to the project: #91
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Python Lints / Checks | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
mypy_lint: | |
name: Lint files | |
runs-on: ubuntu-latest | |
container: | |
image: python:3.11-bookworm | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
- name: prepare environment | |
run: | | |
pip install pipenv -U --quiet | |
apt-get update | |
apt-get install python3-wxgtk4.0 libgtk-3-dev -y | |
pipenv run pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04 wxPython | |
pipenv install --dev | |
- name: run lint | |
run: | | |
pipenv run mypy | |
pipenv run ruff-ci | |
- name: run checks | |
run: | | |
pipenv check | |
tests: | |
name: Run tests | |
runs-on: ubuntu-latest | |
container: | |
image: python:3.11-bookworm | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
- name: prepare environment | |
run: | | |
pip install pipenv -U --quiet | |
apt-get update | |
apt-get install python3-wxgtk4.0 libgtk-3-dev ffmpeg -y | |
pipenv run pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04 wxPython | |
pipenv install --dev | |
- name: run tests | |
run: | | |
pipenv run test | |
sonarqube_checks: | |
name: SonarQube Checks | |
runs-on: ubuntu-latest | |
needs: | |
- mypy_lint | |
- tests | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
- name: prepare environment | |
run: | | |
sudo apt-get update | |
sudo apt-get install python3.11 python3.11-dev --install-recommends python3-distutils python3-wxgtk4.0 libgtk-3-dev ffmpeg -y | |
pip install pipenv -U --quiet | |
pipenv run pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04 wxPython | |
pipenv install --dev | |
- name: run coverage report | |
run: | | |
pipenv run coverage | |
- name: generate requirements.txt | |
run: | | |
pipenv requirements --dev > requirements.txt | |
- name: Dependency check | |
uses: dependency-check/Dependency-Check_Action@main | |
id: Dependency_check | |
with: | |
project: "Video Language Detection" | |
path: "." | |
format: HTML | |
out: "reports" # this is the default, no need to specify unless you wish to override it | |
args: > | |
--failOnCVSS 7 | |
--enableRetired | |
--enableExperimental | |
- uses: sonarsource/sonarqube-scan-action@master | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} | |
# If you wish to fail your job when the Quality Gate is red, uncomment the | |
# following lines. This would typically be used to fail a deployment. | |
- uses: sonarsource/sonarqube-quality-gate-action@master | |
timeout-minutes: 5 | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |