-
Notifications
You must be signed in to change notification settings - Fork 9
Add QA workflow for OneUnit testing #50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughДобавлен новый GitHub Actions workflow "Контроль качества" и обновлён путь отчёта покрытия для SonarQube; workflow переиспользует внешний workflow sonar и передаёт входные параметры и секрет SONAR_TOKEN. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
Pre-merge checks✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a new GitHub Actions workflow for quality assurance (QA) that integrates OneUnit testing with Sonar analysis for the ovm project.
- Adds a new QA workflow file that triggers on push, pull requests, and manual dispatch
- Configures the workflow to use a reusable Sonar workflow from autumn-library with OneUnit as the test engine
- Sets up Coveralls integration and specifies the dev version of oscript for testing
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| oscript_version: 'dev' | ||
| test_engine: 'oneunit' | ||
| secrets: | ||
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |
Copilot
AI
Jan 2, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is trailing whitespace at the end of this line. Trailing whitespace should be removed to maintain clean code formatting.
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
.github/workflows/qa.yaml (3)
11-11: Рекомендуется закрепить версию внешнего рабочего процесса.Использование
@mainможет привести к непредсказуемым изменениям поведения при обновлении внешнего рабочего процесса. Рекомендуется закрепить конкретную версию или тег для обеспечения воспроизводимости сборок.🔎 Предлагаемое исправление
- uses: autumn-library/workflows/.github/workflows/sonar.yml@main + uses: autumn-library/workflows/.github/workflows/[email protected] # или конкретный commit SHA
14-14: Рекомендуется использовать контекстную переменную для имени репозитория.Жёстко заданное имя репозитория снижает переносимость рабочего процесса. Рекомендуется использовать
${{ github.repository }}для автоматического получения имени репозитория.🔎 Предлагаемое исправление
- github_repository: oscript-library/ovm + github_repository: ${{ github.repository }}
17-18: Настройка секретов корректна, но есть незначительная проблема форматирования.Передача
SONAR_TOKENнастроена правильно. Однако в конце строки 18 присутствует пробел.🔎 Предлагаемое исправление
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/qa.yaml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
- GitHub Check: sonar / test
- GitHub Check: test (dev, 1testrunner) / build (ubuntu-latest, dev, 1testrunner)
- GitHub Check: test (dev, 1testrunner) / build (windows-latest, dev, 1testrunner)
- GitHub Check: test (default, 1testrunner) / build (windows-latest, default, 1testrunner)
- GitHub Check: test (stable, 1testrunner) / build (macos-latest, stable, 1testrunner)
- GitHub Check: test (dev, oneunit) / build (ubuntu-latest, dev, oneunit)
- GitHub Check: test (default, 1testrunner) / build (macos-latest, default, 1testrunner)
- GitHub Check: test (stable, 1testrunner) / build (ubuntu-latest, stable, 1testrunner)
- GitHub Check: test (stable, 1testrunner) / build (windows-latest, stable, 1testrunner)
- GitHub Check: sonar / test
- GitHub Check: test (default, 1testrunner) / build (ubuntu-latest, default, 1testrunner)
- GitHub Check: test (dev, oneunit) / build (windows-latest, dev, oneunit)
- GitHub Check: test (stable, 1testrunner) / build (windows-latest, stable, 1testrunner)
- GitHub Check: test (default, 1testrunner) / build (windows-latest, default, 1testrunner)
- GitHub Check: test (dev, 1testrunner) / build (macos-latest, dev, 1testrunner)
- GitHub Check: test (stable, 1testrunner) / build (macos-latest, stable, 1testrunner)
- GitHub Check: test (dev, 1testrunner) / build (ubuntu-latest, dev, 1testrunner)
- GitHub Check: test (stable, 1testrunner) / build (ubuntu-latest, stable, 1testrunner)
- GitHub Check: test (dev, 1testrunner) / build (windows-latest, dev, 1testrunner)
- GitHub Check: test (default, 1testrunner) / build (macos-latest, default, 1testrunner)
🔇 Additional comments (4)
.github/workflows/qa.yaml (4)
1-2: Хорошо оформлено!Документация и название рабочего процесса понятны и соответствуют целям PR.
4-7: LGTM!События-триггеры настроены корректно. Поддержка
workflow_dispatchпозволяет запускать проверку качества вручную при необходимости.
15-15: Проверьте использование версии 'dev' для oscript.Использование версии 'dev' может привести к нестабильным и невоспроизводимым результатам тестирования. Убедитесь, что это намеренное решение для рабочего процесса контроля качества.
16-16: Отлично! Основное изменение выглядит корректно.Добавление
test_engine: 'oneunit'соответствует целям PR и правильно настроено.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
sonar-project.properties
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
- GitHub Check: test (dev, 1testrunner) / build (macos-latest, dev, 1testrunner)
- GitHub Check: test (dev, 1testrunner) / build (ubuntu-latest, dev, 1testrunner)
- GitHub Check: test (dev, 1testrunner) / build (windows-latest, dev, 1testrunner)
- GitHub Check: test (dev, oneunit) / build (windows-latest, dev, oneunit)
- GitHub Check: test (stable, 1testrunner) / build (ubuntu-latest, stable, 1testrunner)
- GitHub Check: test (default, 1testrunner) / build (windows-latest, default, 1testrunner)
- GitHub Check: test (dev, oneunit) / build (ubuntu-latest, dev, oneunit)
- GitHub Check: sonar / test
| sonar.sourceEncoding=UTF-8 | ||
|
|
||
| sonar.coverageReportPaths=coverage/genericCoverage.xml | ||
| sonar.coverageReportPaths=out/genericCoverage.xml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# Search for references to the old coverage path
rg 'coverage/genericCoverage\.xml' --type-list | head -20Repository: oscript-library/ovm
Length of output: 452
🏁 Script executed:
# Search for any references to coverage/genericCoverage in the entire codebase
rg 'coverage/genericCoverage' -iRepository: oscript-library/ovm
Length of output: 135
🏁 Script executed:
# Look for workflow files to verify new configuration
find .github -name "*.yaml" -o -name "*.yml" 2>/dev/null | head -20Repository: oscript-library/ovm
Length of output: 148
🏁 Script executed:
# Check if qa.yaml exists and inspect its configuration
cat .github/workflows/qa.yaml 2>/dev/null || echo "File not found"Repository: oscript-library/ovm
Length of output: 441
🏁 Script executed:
# Also check for sonar.yml to understand the coverage report configuration
cat .github/workflows/sonar.yml 2>/dev/null || echo "File not found"Repository: oscript-library/ovm
Length of output: 77
🏁 Script executed:
# Search for any other references to coverage path in config files
rg 'genericCoverage' -t yaml -t yml -t propertiesRepository: oscript-library/ovm
Length of output: 90
🏁 Script executed:
# Search for all references to coverage in the codebase
rg 'coverage' --type-add 'config:*.{yaml,yml,properties}' -tconfig -tpython -tjsRepository: oscript-library/ovm
Length of output: 93
🏁 Script executed:
# Check the tasks/coverage.os file to understand how it generates coverage
cat tasks/coverage.osRepository: oscript-library/ovm
Length of output: 2093
🏁 Script executed:
# Search for out/ directory references in workflow or config files
rg 'out/genericCoverage' -iRepository: oscript-library/ovm
Length of output: 137
🏁 Script executed:
# Check if there are other script files that might be handling coverage
find . -name "*.os" -o -name "*.bat" -o -name "*.sh" | grep -i coverageRepository: oscript-library/ovm
Length of output: 82
🏁 Script executed:
# Look for configuration that might specify output directories
rg 'coverageReportPaths|coverage.*report|out.*coverage' -iRepository: oscript-library/ovm
Length of output: 137
🏁 Script executed:
# Check for file copy/move operations in workflow files
rg 'cp|mv|copy|move' .github/workflows/ -iRepository: oscript-library/ovm
Length of output: 45
🏁 Script executed:
# Look for any script that might handle the coverage output directory
rg 'out.*coverage|coverage.*out' -iRepository: oscript-library/ovm
Length of output: 137
🏁 Script executed:
# Check if there's a build script or setup that creates out directory
find . -name "build*" -o -name "setup*" -o -name "Makefile" 2>/dev/nullRepository: oscript-library/ovm
Length of output: 45
🏁 Script executed:
# Search for any reference to out/ directory in the entire repo
rg 'out/' --type yaml --type properties -B2 -A2Repository: oscript-library/ovm
Length of output: 97
Исправьте путь генерации отчёта покрытия в соответствии с новой конфигурацией.
Обнаружено несоответствие: файл sonar-project.properties ожидает отчёт по пути out/genericCoverage.xml, но скрипт tasks/coverage.os генерирует отчёт по пути coverage/genericCoverage.xml. SonarQube не найдёт отчёт и не сможет выполнить проверку качества.
Требуется обновить tasks/coverage.os для создания каталога и записи отчёта в out/genericCoverage.xml вместо coverage/genericCoverage.xml.
🤖 Prompt for AI Agents
In sonar-project.properties around line 17 the sonar.coverageReportPaths is set
to out/genericCoverage.xml but the coverage generator writes to
coverage/genericCoverage.xml; update tasks/coverage.os to create the out
directory if missing (mkdir -p out) and change the report output path to
out/genericCoverage.xml (ensure the script writes the report to that path and
preserves exit codes/permissions).
|

0 New Issues
0 Fixed Issues
0 Accepted Issues
No data about coverage (75.60% Estimated after merge)
Summary by CodeRabbit
Примечания к выпуску
✏️ Tip: You can customize this high-level summary in your review settings.