- use container images in the github CI #40
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 | |
jobs: | |
mypy_lint: | |
name: Lint with Mypy | |
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 | |
pipenv install --dev | |
- name: run lint | |
run: | | |
pipenv run mypy | |
pipenv run ruff-ci | |
tests: | |
name: Test with pytest | |
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 | |
pipenv install --dev | |
- name: run tests | |
run: | | |
pipenv run test | |
sonarqube_checks: | |
name: SonarQube Checks | |
runs-on: ubuntu-latest | |
container: | |
image: python:3.11-bookworm | |
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: | | |
pip install pipenv -U --quiet | |
pipenv install --dev | |
- name: run coverage report | |
run: | | |
pipenv run coverage | |
- name: generate requirements.txt | |
run: | | |
pipenv requirements > 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 }} |