Conversation
|
There has been so long since we talk about GitHub Actions. It was several years ago. Time flies. Are you planning to keep GHA only, or both GHA and buildbot? |
|
@pzhlkj6612 hi, no - I will stop using buildbot after integration GitHub Actions. |
|
Okay. The "buildbot/WindowsCMakeBuilder" guy stuck at "Waiting for status to be reported". |
yes, i will stop them after merge this PR |
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request migrates the project's CI/CD to GitHub Actions. The changes include modifications to CMake build scripts to integrate with the GitHub Actions environment, removal of an old Python-based dependency fetching script, and a codebase-wide refactoring to replace a custom logging utility with standard Qt logging macros (qDebug, qWarning, etc.). The changes are generally good and improve the project's build process and code quality. I've pointed out a few areas for improvement: decoupling the build scripts from the CI provider, correcting a log level, and fixing a typo in a variable name.
| if(DEFINED ENV{GITHUB_ENV}) | ||
| file(APPEND $ENV{GITHUB_ENV} "CQT_DEPLOYER_VERSION=${CQT_DEPLOYER_VERSION}\n") | ||
| file(APPEND $ENV{GITHUB_ENV} "CMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}\n") | ||
| file(APPEND $ENV{GITHUB_ENV} "CMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}\n") | ||
| file(APPEND $ENV{GITHUB_ENV} "INSTALLER_SUFIX=${INSTALLER_SUFIX}\n") | ||
|
|
||
| endif() |
There was a problem hiding this comment.
This block introduces a direct dependency on GitHub Actions by checking for ENV{GITHUB_ENV}. This couples your build script to a specific CI system. For better portability and separation of concerns, consider passing the necessary information from the CI environment to CMake via command-line arguments. For example, you could define a CMake variable like CI_EXPORT_FILE and set it in your GitHub Actions workflow: cmake -DCI_EXPORT_FILE=$GITHUB_ENV .... Then, your CMake script would check for if(CI_EXPORT_FILE). A similar pattern is used in src/CQtDeployer/CMakeLists.txt and should also be refactored.
| QuasarAppUtils::Params::log("Get the recursive dependencies of " + lib.fullPath(), | ||
| QuasarAppUtils::Debug); | ||
|
|
||
| qWarning() << "Get the recursive dependencies of " + lib.fullPath(); |
There was a problem hiding this comment.
The log level for this message was changed from Debug to Warning. However, this message seems to be for debugging purposes, indicating the start of a recursive dependency scan for a library. Changing it to a warning might generate a lot of noise in the logs, as it will be printed for every library being scanned. It would be more appropriate to use qDebug() here.
qDebug() << "Get the recursive dependencies of " + lib.fullPath();|
|
||
| void Packing::setDistribution(const QList<iDistribution*> &packages) { | ||
| _packages = packages; | ||
| _pakages = packages; |
There was a problem hiding this comment.
|
/gemini please make review of this pull request and make suggestion if you detect any issues. |
There was a problem hiding this comment.
Code Review
This pull request updates copyright years to 2026 across the project and transitions the logging system from a custom utility to standard Qt logging macros (qDebug, qInfo, qWarning, qCritical). It also enhances CI/CD integration by exporting build variables to GITHUB_ENV and refactors QIFW binary handling to copy local tools instead of using a Python script. Review feedback highlights several critical issues, including a misspelled member variable (_pakages) in packing.cpp that will cause compilation errors, and a broken log message in configparser.cpp where a placeholder is not properly formatted. Additionally, several typos and grammatical errors were identified in the newly added log strings, and one instance was noted where a debug message was incorrectly elevated to a warning level.
| qInfo() << "The qmake was found in the RPATH variable. qmake : %0" | ||
| " If you want to disable search qmake executable in RPATH variable," | ||
| " use the noCheckRPATH option"; |
There was a problem hiding this comment.
The log message is missing the QString wrapper and the .arg(qmakeFromRPath) call. As a result, the %0 placeholder will be printed literally, and the path information will be lost in the output.
qInfo() << QString("The qmake was found in the RPATH variable. qmake : %0"
" If you want to disable search qmake executable in RPATH variable,"
" use the noCheckRPATH option").arg(qmakeFromRPath);| QuasarAppUtils::Params::log("Get the recursive dependencies of " + lib.fullPath(), | ||
| QuasarAppUtils::Debug); | ||
|
|
||
| qWarning() << "Get the recursive dependencies of " + lib.fullPath(); |
There was a problem hiding this comment.
| qCritical() << QString("Failed parese list of option values, This option support only single leve list. " | ||
| " Example: use -Option val1,val2,val3 "); |
There was a problem hiding this comment.
This log message contains several typos: 'parese' should be 'parse', and 'leve' should be 'level'. Additionally, 'support' should be 'supports' for correct grammar.
qCritical() << QString("Failed to parse list of option values. This option supports only a single level list. "
" Example: use -Option val1,val2,val3 ");| QuasarAppUtils::Info); | ||
| qInfo() << "'snap connect cqtdeployer:system-backup :system-backup'" << | ||
| "GUI: Open the gnome system setting >> Applications >> CQtDeployer. " | ||
| "in menu rights and permisions enable system-backup."; |
| qWarning() << QString("You try sets property for the not exits target." | ||
| " target: %0").arg(pair.value(0)); |
There was a problem hiding this comment.
| QuasarAppUtils::Params::log("Show info is failed!", | ||
| QuasarAppUtils::Error); | ||
|
|
||
| qCritical() << "Show info is failed!"; |
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Andrei Yankovich <EndrIIMail@gmail.com>
Uh oh!
There was an error while loading. Please reload this page.