Skip to content

Conversation

@fernandotonon
Copy link
Owner

@fernandotonon fernandotonon commented Nov 2, 2025

Summary

Change the translation gizmo to arrows
image

Technical Details

  • The destruction order was reviewed to avoid a segfault when closing the app
  • Arrow shapes were created in the translation gizmo
  • The CI and tests were reviewed to run all the tests and fix their issues

✨ Features

  • Change the translation gizmo to arrows

🐛 Bugfixes

  • Fix Assimp tests
  • Fix segfault when closing the app
  • Fixed failing tests

@fernandotonon
Copy link
Owner Author

fernandotonon commented Nov 2, 2025

@codex review the PR

- Generate both LCOV and XML coverage formats using gcovr
- Configure SonarQube to use LCOV format (better supported for C++ without cfamily plugin)
- Remove cfamily-specific properties (not available in free version)
- Add coverage file validation and improved debugging
- Fallback to XML if LCOV is not available

This addresses the coverage reporting issue that stopped working ~4 months ago
by using LCOV format which has better generic support in SonarQube.
- Replace gcovr --lcov with standard lcov tool for better compatibility
- Add proper file existence checks before passing to SonarQube
- Only include coverageReportPaths if file actually exists
- Install lcov tool if not available
- Better error handling to prevent SonarQube from failing on missing files
- Check for .gcda files before attempting LCOV generation
- Use absolute path for --base-directory to ensure correct path mapping
- Add fallback: if first attempt creates empty file, retry with minimal exclusions
- Better diagnostics to identify why LCOV might not be generated
- Properly handle cases where no coverage data exists
…sion=1)\n\n- Replace Cobertura XML with SonarQube generic format to satisfy parser\n- Keep HTML report for humans\n- Avoid 'Unknown report version: gcovr 6.0' error
…ailable

- Add sonar.c.file.suffixes=-, sonar.cpp.file.suffixes=-, sonar.objc.file.suffixes=-
- This prevents SonarQube from trying to analyze C++ code with CFamily plugin
- We only use SonarQube for coverage reporting via generic coverage format
- Code analysis is disabled, but coverage reporting will still work
- UnitTests now runs independently before MaterialEditorQML_test
- This ensures all Google Tests (including Assimp tests) are executed
- Previously UnitTests only ran if MaterialEditorQML_test was not found
- Use separate output files for each test suite to avoid overwriting results
@sonarqubecloud
Copy link

@fernandotonon fernandotonon merged commit 5d7a1ac into master Nov 11, 2025
12 checks passed
@fernandotonon fernandotonon deleted the 2.0.6 branch November 11, 2025 05:29
fernandotonon added a commit that referenced this pull request Nov 13, 2025
- Enable C++ file analysis by setting proper file suffixes (.cpp, .h, etc.)
- Add cfamily configuration with compile_commands.json for better analysis
- Ensure compile_commands.json is copied from build/ directory in CI
- Combine build-wrapper support with cfamily analysis configuration

This fixes the issue where SonarQube was showing 0 issues, duplications,
and coverage after PR #94 was merged, which was caused by C++ file analysis
being disabled.
fernandotonon added a commit that referenced this pull request Nov 13, 2025
- Enable C++ file analysis by setting proper file suffixes (.cpp, .h, etc.)
- Add cfamily configuration with compile_commands.json for better analysis
- Ensure compile_commands.json is copied from build/ directory in CI
- Combine build-wrapper support with cfamily analysis configuration

This fixes the issue where SonarQube was showing 0 issues, duplications,
and coverage after PR #94 was merged, which was caused by C++ file analysis
being disabled.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants