Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @ABMC831 @OlivieFranklova @Zejnilovic @oto-macenauer-absa @petr-pokorny-absa
* @ABMC831 @Zejnilovic @oto-macenauer-absa @petr-pokorny-absa
114 changes: 114 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: Build and Test
on:
pull_request:
branches:
- '**'
types: [ opened, synchronize, reopened ]

jobs:
static-code-analysis:
runs-on: ubuntu-latest
name: Pylint Static Code Analysis
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'

- name: Install dependencies
run: |
pip install -r requirements.txt

- name: Analyze code with Pylint
id: analyze-code
run: |
pylint_score=$(pylint $(git ls-files '*.py')| grep 'rated at' | awk '{print $7}' | cut -d'/' -f1)
echo "PYLINT_SCORE=$pylint_score" >> $GITHUB_ENV

- name: Check Pylint score
run: |
if (( $(echo "$PYLINT_SCORE < 9.5" | bc -l) )); then
echo "Failure: Pylint score is below 9.5 (project score: $PYLINT_SCORE)."
exit 1
else
echo "Success: Pylint score is above 9.5 (project score: $PYLINT_SCORE)."
fi

code-format-check:
runs-on: ubuntu-latest
name: Black Format Check
steps:
- name: Checkout repository
uses: actions/[email protected]
with:
persist-credentials: false

- name: Set up Python
uses: actions/[email protected]
with:
python-version: '3.11'
cache: 'pip'

- name: Install dependencies
run: |
pip install -r requirements.txt

- name: Check code format with Black
id: check-format
run: |
black --check $(git ls-files '*.py')

unit-test:
name: Unit Tests
runs-on: ubuntu-latest

defaults:
run:
shell: bash

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false

- uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'

- name: Install Python dependencies
run: |
pip install -r requirements.txt

- name: Check code coverage with Pytest
run: pytest --cov=. -v tests/ --cov-fail-under=80

mypy-check:
runs-on: ubuntu-latest
name: Mypy Type Check
steps:
- name: Checkout repository
uses: actions/[email protected]
with:
persist-credentials: false

- name: Set up Python
uses: actions/[email protected]
with:
python-version: '3.11'
cache: 'pip'

- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Check types with Mypy
id: check-types
run: |
mypy .
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ __pycache__
/terraform/*.tfvars
/terraform/*.tfstate*
/terraform/.terraform*
/.idea/
Loading
Loading