Feat/sonarqube#163
Open
EdenBernhard wants to merge 85 commits into
Open
Conversation
…g Ingridients List
… geschrieben. Die dazugehörigen Abhängigkeiten in requirements.txt angepasst. Sie werden in test_main.py aufgerufen. Namens faktorisierung ist schwer bei den Klassennamen da bei tests der pycharm Debugger eher auf klassen mit test_ vorne guckt. Deswegen leider test_
… Konto deletion reactivation.
* Rename models.py to Models.py * Rename auth.py to Auth.py * Rename Routes.py to routes.py * Added Refactoring Summary * Refactor documentation for code naming conventions * Fix spelling errors in refactoring documentation Corrected spelling of 'Refaktorisierung' and 'Frontend'. * Delete project/data/LazyCookDB.sqlite3 * AI Agent md's changed * Passwort und Email Änderung zu Popups geändert. und neugeordnet untereinander * Update README.md to mark tasks as completed for account management features * Add CI/CD pipeline and Super Linter configuration * Test für lint * Test ci/cd lint.yml * Test ci/cd lint.yml * Test ci/cd lint.yml * Test ci/cd lint.yml regex Filter * Test ci/cd lint.yml * Test ci/cd lint.yml * Test ci/cd lint.yml regex Filter angepasst * Tests für Database, passwort überprüfung und email überürufung wurden geschrieben. Die dazugehörigen Abhängigkeiten in requirements.txt angepasst. Sie werden in test_main.py aufgerufen. Namens faktorisierung ist schwer bei den Klassennamen da bei tests der pycharm Debugger eher auf klassen mit test_ vorne guckt. Deswegen leider test_ * ci pipeline abhägigkeit mit rein gemacht * Feat bei Ci yml entfernt * Update FILTER_REGEX_INCLUDE pattern in lint.yml * Update lint.yml * Enable validation for the entire codebase * Update lint.yml * Update lint.yml * Enable validation for all codebase in lint workflow * Remove Python Black and Markdown validation * Update lint workflow to include additional validations * Update FILTER_REGEX_INCLUDE to support YAML files * Update lint.yml * Update lint.yml * Refactor CI configuration to use Docker Compose v2 syntax and add GitHub Super Linter step * Test ci.yml * Update ci.yml * Enable Flake8 validation for Python files * Test ci.yml * Remove 'feat/*' branch from push trigger in CI configuration * Python black gelöst --------- Co-authored-by: Samuel Goebel <goebelsamuel@gmail.com> Co-authored-by: Eden Tabea Bernhard <105359952+EdenBernhard@users.noreply.github.com> Co-authored-by: Nicoolaus <162422307+Nicoolaus@users.noreply.github.com> Co-authored-by: Hellocrafting <alexanderfgroer@gmail.com> Co-authored-by: nicla <niclas.matzke@gmail.com> Co-authored-by: Hellocrafting <75727565+Hellocrafting@users.noreply.github.com>
# Conflicts: # project/data/LazyCookDB.sqlite3
# Conflicts: # .github/workflows/ci.yml # project/backend/tests/test_database.py # project/backend/tests/test_email.py # project/backend/tests/test_main.py # project/backend/tests/test_password.py
* Separate linter configuration into its own workflow file Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Update README.md to reflect linter workflow separation and installation instructions --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
# Conflicts: # project/backend/Database.py # project/backend/EmailService.py # project/backend/Routes.py
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Feature: Forgot Password link in signin modal. Popup for Email Input. Konto deletion reactivation. * Feature: Email and Password change popup width changed * Feature: Fix problem with refresh token and include show Password * Feature: forgot password functionality works with redirection to homepage * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Fix: Copilot review suggestion * fix: make password visibility toggle keyboard focusable Agent-Logs-Url: https://github.com/GalacticCodeGambit/LazyCook/sessions/bf26f4ce-caa3-43fa-b940-13d7be23d7bf Co-authored-by: EdenBernhard <105359952+EdenBernhard@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
| # Quellen + Tests | ||
| sonar.sources=backend,frontend/app | ||
| sonar.tests=backend/tests | ||
| sonar.exclusions=**/node_modules/**,**/__pycache__/**,**/.next/**,frontend/app/components/ui/**,**/*.config.*,**/coverage/**,backend/tests/** |
| sonar.sourceEncoding=UTF-8 | ||
|
|
||
| # Python | ||
| sonar.python.version=3.10 |
Comment on lines
6
to
+9
| python-jose[cryptography] | ||
| python-multipart | ||
| pytest==9.0.3 No newline at end of file | ||
| pytest==9.0.3 | ||
| pytest-cov==6.0.0 No newline at end of file |
| run: | | ||
| python -m pip install --upgrade pip | ||
| python -m pip install -r requirements.txt | ||
| python -m pip install "pytest-cov>=5,<7" "coverage>=7" |
Comment on lines
+36
to
+45
| - name: Run backend tests with coverage | ||
| working-directory: project | ||
| run: | | ||
| python -m pytest \ | ||
| --cov=backend \ | ||
| --cov-report=xml:backend/coverage.xml \ | ||
| --cov-report=term-missing \ | ||
| backend/tests/ | ||
| continue-on-error: true | ||
|
|
|
|
||
| - name: SonarCloud Quality Gate check | ||
| id: sonar-qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master |
Comment on lines
+63
to
+72
| - name: SonarCloud Quality Gate check | ||
| id: sonar-qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master | ||
| timeout-minutes: 5 | ||
| continue-on-error: true | ||
| with: | ||
| scanMetadataReportFile: project/.scannerwork/report-task.txt | ||
| env: | ||
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
|
|
Comment on lines
+24
to
+28
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
| sonar.sourceEncoding=UTF-8 | ||
|
|
||
| # Python | ||
| sonar.python.version=3.10 |
| # Quellen + Tests | ||
| sonar.sources=backend,frontend/app | ||
| sonar.tests=backend/tests | ||
| sonar.exclusions=**/node_modules/**,**/__pycache__/**,**/.next/**,frontend/app/components/ui/**,**/*.config.*,**/coverage/**,backend/tests/** |
| --cov-report=xml:backend/coverage.xml \ | ||
| --cov-report=term-missing \ | ||
| backend/tests/ | ||
| continue-on-error: true |
Comment on lines
+27
to
+31
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
|
|
||
| - name: SonarCloud Quality Gate check | ||
| id: sonar-qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master |
Comment on lines
+66
to
+74
| - name: SonarCloud Quality Gate check | ||
| id: sonar-qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master | ||
| timeout-minutes: 5 | ||
| continue-on-error: true | ||
| with: | ||
| scanMetadataReportFile: project/.scannerwork/report-task.txt | ||
| env: | ||
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |
…coverage, duplication and complexity
…coverage, duplication and complexity
| # Quellen + Tests | ||
| sonar.sources=backend,frontend/app | ||
| sonar.tests=backend/tests | ||
| sonar.exclusions=**/node_modules/**,**/__pycache__/**,**/.next/**,frontend/app/components/ui/**,**/*.config.*,**/coverage/**,backend/tests/** |
| sonar.sourceEncoding=UTF-8 | ||
|
|
||
| # Python | ||
| sonar.python.version=3.10 |
Comment on lines
+8
to
+9
| pytest==9.0.3 | ||
| pytest-cov==6.0.0 No newline at end of file |
Comment on lines
+27
to
+31
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
| run: | | ||
| python -m pip install --upgrade pip | ||
| python -m pip install -r requirements.txt | ||
| python -m pip install "pytest-cov>=5,<7" "coverage>=7" |
Comment on lines
+39
to
+47
| - name: Run backend tests with coverage | ||
| working-directory: project | ||
| run: | | ||
| python -m pytest \ | ||
| --cov=backend \ | ||
| --cov-report=xml:backend/coverage.xml \ | ||
| --cov-report=term-missing \ | ||
| backend/tests/ | ||
| continue-on-error: true |
|
|
||
| - name: SonarCloud Quality Gate check | ||
| id: sonar-qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master |
Comment on lines
+66
to
+74
| - name: SonarCloud Quality Gate check | ||
| id: sonar-qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master | ||
| timeout-minutes: 5 | ||
| continue-on-error: true | ||
| with: | ||
| scanMetadataReportFile: project/.scannerwork/report-task.txt | ||
| env: | ||
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |
…coverage, duplication and complexity
…coverage, duplication and complexity
| sonar.sourceEncoding=UTF-8 | ||
|
|
||
| # Python | ||
| sonar.python.version=3.10 |
| sonar.projectVersion=1.0 | ||
|
|
||
| # Quellen + Tests | ||
| sonar.sources=backend,frontend/app |
| # Quellen + Tests | ||
| sonar.sources=backend,frontend/app | ||
| sonar.tests=backend/tests | ||
| sonar.exclusions=**/node_modules/**,**/__pycache__/**,**/.next/**,frontend/app/components/ui/**,**/*.config.*,**/coverage/**,backend/tests/** |
Comment on lines
+27
to
+31
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
| --cov-report=xml:backend/coverage.xml \ | ||
| --cov-report=term-missing \ | ||
| backend/tests/ | ||
| continue-on-error: true |
| --cov=backend \ | ||
| --cov-report=xml:backend/coverage.xml \ | ||
| backend/tests/ | ||
| continue-on-error: true |
|
|
||
| - name: Wait for analysis | ||
| id: qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master |
| id: qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master | ||
| timeout-minutes: 5 | ||
| continue-on-error: true |
Comment on lines
+56
to
+62
| args: > | ||
| -Dsonar.projectKey=GalacticCodeGambit_LazyCook | ||
| -Dsonar.organization=galacticcodegambit | ||
| -Dproject.settings=sonar-project.properties | ||
| -Dsonar.python.coverage.reportPaths=backend/coverage.xml | ||
| -Dsonar.python.version=3.10 | ||
| env: |
| -Dsonar.organization=galacticcodegambit | ||
| -Dproject.settings=sonar-project.properties | ||
| -Dsonar.python.coverage.reportPaths=backend/coverage.xml | ||
| -Dsonar.python.version=3.10 |
…coverage, duplication and complexity
…coverage, duplication and complexity
| sonar.sourceEncoding=UTF-8 | ||
|
|
||
| # Python | ||
| sonar.python.version=3.10 |
| # Quellen + Tests | ||
| sonar.sources=backend,frontend/app | ||
| sonar.tests=backend/tests | ||
| sonar.exclusions=**/node_modules/**,**/__pycache__/**,**/.next/**,frontend/app/components/ui/**,**/*.config.*,**/coverage/**,backend/tests/** |
Comment on lines
+27
to
+31
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
Comment on lines
+39
to
+48
| - name: Run backend tests with coverage | ||
| working-directory: project | ||
| run: | | ||
| python -m pytest \ | ||
| --cov=backend \ | ||
| --cov-report=xml:backend/coverage.xml \ | ||
| --cov-report=term-missing \ | ||
| backend/tests/ | ||
| continue-on-error: true | ||
|
|
|
|
||
| - name: SonarCloud Quality Gate check | ||
| id: sonar-qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master |
Comment on lines
+1
to
+8
| name: SonarCloud Full Metrics (main branch) | ||
|
|
||
| on: | ||
| push: | ||
| branches: [sonarqube] | ||
| pull_request: | ||
| branches: [main, master] | ||
| workflow_dispatch: |
Comment on lines
+27
to
+31
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
Comment on lines
+39
to
+47
| - name: Run backend tests with coverage | ||
| working-directory: project | ||
| run: | | ||
| python -m pytest \ | ||
| --cov=backend \ | ||
| --cov-report=xml:backend/coverage.xml \ | ||
| --cov-report=term-missing \ | ||
| backend/tests/ | ||
| continue-on-error: true |
|
|
||
| - name: Wait for analysis | ||
| id: qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master |
| run: | | ||
| python -m pip install --upgrade pip | ||
| python -m pip install -r requirements.txt | ||
| python -m pip install "pytest-cov>=5,<7" "coverage>=7" |
…coverage, duplication and complexity
…coverage, duplication and complexity
|
❌ The last analysis has failed. |
|
| sonar.sourceEncoding=UTF-8 | ||
|
|
||
| # Python | ||
| sonar.python.version=3.10 |
Comment on lines
+1
to
+74
| name: SonarCloud Analysis | ||
|
|
||
| on: | ||
| pull_request: | ||
| branches: [main, master] | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| sonarcloud: | ||
| name: Build, Test & Sonar Scan | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| # ===================================================== | ||
| # BACKEND (Python / FastAPI) – Tests + Coverage | ||
| # ===================================================== | ||
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
||
| - name: Install backend dependencies | ||
| working-directory: project/backend | ||
| run: | | ||
| python -m pip install --upgrade pip | ||
| python -m pip install -r requirements.txt | ||
| python -m pip install "pytest-cov>=5,<7" "coverage>=7" | ||
|
|
||
| - name: Run backend tests with coverage | ||
| working-directory: project | ||
| run: | | ||
| python -m pytest \ | ||
| --cov=backend \ | ||
| --cov-report=xml:backend/coverage.xml \ | ||
| --cov-report=term-missing \ | ||
| backend/tests/ | ||
| continue-on-error: true | ||
|
|
||
| # ===================================================== | ||
| # SONARCLOUD SCAN | ||
| # ===================================================== | ||
| - name: SonarQube Scan | ||
| uses: SonarSource/sonarqube-scan-action@v3 | ||
| with: | ||
| projectBaseDir: project | ||
| args: > | ||
| -Dsonar.projectKey=GalacticCodeGambit_LazyCook | ||
| -Dsonar.organization=galacticcodegambit | ||
| -Dproject.settings=sonar-project.properties | ||
| -Dsonar.python.coverage.reportPaths=backend/coverage.xml | ||
| -Dsonar.python.version=3.10 | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
|
|
||
| - name: SonarCloud Quality Gate check | ||
| id: sonar-qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master | ||
| timeout-minutes: 5 | ||
| continue-on-error: true | ||
| with: | ||
| scanMetadataReportFile: project/.scannerwork/report-task.txt | ||
| env: | ||
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
|
|
||
| # ===================================================== |
Comment on lines
+25
to
+29
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
|
|
||
| - name: SonarCloud Quality Gate check | ||
| id: sonar-qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master |
Comment on lines
+163
to
+167
| # Sucht in den Components die mit path enden ODER deren path == argument | ||
| v=$(echo "${tree_resp}" | jq -r --arg p "$path" --arg k "$metric" \ | ||
| '[.components[]? | select(.path == $p)] | ||
| | .[0].measures[]? | select(.metric==$k) | .value' 2>/dev/null) | ||
| if [ -n "$v" ] && [ "$v" != "null" ] && [ "$v" != "-" ]; then |
Comment on lines
+4
to
+7
| pull_request: | ||
| branches: [main, master] | ||
| workflow_dispatch: | ||
|
|
Comment on lines
+25
to
+29
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
|
|
||
| - name: Wait for analysis | ||
| id: qg | ||
| uses: SonarSource/sonarqube-quality-gate-action@master |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



No description provided.