-
Notifications
You must be signed in to change notification settings - Fork 496
[ci][linux] build client and manager for arm64 #6587
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
7333340 to
00926d9
Compare
00926d9 to
aa727f5
Compare
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 modifies the Linux build system to support building BOINC client and manager components for the arm64 architecture using vcpkg, extending the existing CI infrastructure.
- Refactors existing vcpkg update scripts to accept architecture triplets as parameters
- Adds new build configurations for arm64 client and manager builds
- Updates CI workflow and deployment scripts to include arm64 variants
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| linux/update_vcpkg_libs.sh | Added copyright header and parameterized triplet support |
| linux/update_vcpkg_client.sh | Added copyright header and parameterized triplet support |
| linux/update_vcpkg_apps.sh | Added copyright header and parameterized triplet support |
| linux/arm64/update_vcpkg_libs.sh | Removed duplicate arm64-specific script |
| linux/arm64/update_vcpkg_apps.sh | Removed duplicate arm64-specific script |
| linux/arm64/ci_configure_manager.sh | New arm64 manager build configuration script |
| linux/arm64/ci_configure_libs.sh | Updated to use parameterized vcpkg script |
| linux/arm64/ci_configure_client.sh | New arm64 client build configuration script |
| linux/arm64/ci_configure_apps.sh | Updated to use parameterized vcpkg script with copyright header |
| deploy/prepare_deployment.py | Added arm64 deployment functions and reorganized build types |
| .github/workflows/linux.yml | Added arm64 client/manager build jobs and improved build parallelization |
Comments suppressed due to low confidence (1)
linux/arm64/ci_configure_client.sh:1
- Incorrect script reference. This should be
linux/update_vcpkg_client.sh $TRIPLETsince this is configuring the client, not the manager.
#!/bin/sh
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
aa727f5 to
84e107f
Compare
84e107f to
490fb55
Compare
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
Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
7dbc8c2 to
9023250
Compare
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
Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| export VCPKG_DIR="$VCPKG_ROOT/installed/$TRIPLET" | ||
| export PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig/:$VCPKG_DIR/lib/pkgconfig/:$PKG_CONFIG_PATH | ||
|
|
||
| linux/update_vcpkg_manager.sh $TRIPLET |
Copilot
AI
Oct 3, 2025
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.
The script calls 'linux/update_vcpkg_manager.sh' but this file doesn't appear to exist in the codebase. Based on the pattern in other files, this should likely be 'linux/update_vcpkg_libs.sh' for manager builds.
| linux/update_vcpkg_manager.sh $TRIPLET | |
| linux/update_vcpkg_libs.sh $TRIPLET |
9023250 to
c767270
Compare
c767270 to
7368265
Compare
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
Copilot reviewed 44 out of 44 changed files in this pull request and generated 5 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| boinc_types = { | ||
| 'linux_client': prepare_linux_client, | ||
| 'linux_client-vcpkg': prepare_linux_client_vcpkg, | ||
| 'android_apps': prepare_android_apps, | ||
| 'linux_apps': prepare_linux_apps, | ||
| 'linux_apps-arm64': prepare_linux_apps_arm64, | ||
| 'linux_apps-vcpkg-arm64': prepare_linux_apps_vcpkg_arm64, | ||
| 'linux_apps-vcpkg': prepare_linux_apps_vcpkg, | ||
| 'linux_apps-vcpkg-arm64': prepare_linux_apps_vcpkg_arm64, | ||
| 'linux_client': prepare_linux_client, | ||
| 'linux_client-vcpkg': prepare_linux_client_vcpkg, | ||
| 'linux_client-vcpkg-arm64': prepare_linux_client_vcpkg_arm64, | ||
| 'linux_manager': prepare_linux_manager, | ||
| 'linux_manager-with-webview': prepare_linux_manager_with_webview, | ||
| 'linux_manager-with-webview-vcpkg': prepare_linux_manager_with_webview_vcpkg, | ||
| 'linux_manager-with-webview-vcpkg-arm64': prepare_linux_manager_with_webview_vcpkg_arm64, | ||
| 'linux_manager-without-webview': prepare_linux_manager_without_webview, | ||
| 'logs': prepare_logs, | ||
| 'macos_manager': prepare_macos_apps, | ||
| 'macos_samples-makefile': prepare_macos_makefile_apps, | ||
| 'win_apps': prepare_win_apps, | ||
| 'win_apps-mingw': prepare_win_apps_mingw, | ||
| 'win_apps-mingw-vcpkg': prepare_win_apps_mingw_vcpkg, | ||
| 'android_apps': prepare_android_apps, | ||
| 'win_apps': prepare_win_apps, | ||
| 'win_client': prepare_win_client, | ||
| 'win_manager': prepare_win_manager, | ||
| 'win_installer': prepare_win_installer, | ||
| 'macos_manager': prepare_macos_apps, | ||
| 'macos_samples-makefile': prepare_macos_makefile_apps, | ||
| 'logs': prepare_logs, | ||
| 'win_manager': prepare_win_manager, | ||
| } |
Copilot
AI
Oct 5, 2025
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.
[nitpick] The reorganization of the boinc_types dictionary by platform improves maintainability, but the alphabetical sorting within each platform section could be more consistent. Consider sorting all entries alphabetically within each platform grouping.
7368265 to
690f31b
Compare
690f31b to
cdd80b6
Compare
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
Copilot reviewed 45 out of 45 changed files in this pull request and generated 7 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| fi | ||
|
|
||
| TRIPLET="x64-linux" | ||
| if [ ! -z "$1" ]; then |
Copilot
AI
Oct 6, 2025
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.
Use [ -n "$1" ] instead of [ ! -z "$1" ] for better readability and POSIX compliance.
| if [ ! -z "$1" ]; then | |
| if [ -n "$1" ]; then |
| fi | ||
|
|
||
| TRIPLET="x64-linux" | ||
| if [ ! -z "$1" ]; then |
Copilot
AI
Oct 6, 2025
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.
Use [ -n "$1" ] instead of [ ! -z "$1" ] for better readability and POSIX compliance.
| if [ ! -z "$1" ]; then | |
| if [ -n "$1" ]; then |
| fi | ||
|
|
||
| TRIPLET="x64-linux" | ||
| if [ ! -z "$1" ]; then |
Copilot
AI
Oct 6, 2025
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.
Use [ -n "$1" ] instead of [ ! -z "$1" ] for better readability and POSIX compliance.
| if [ ! -z "$1" ]; then | |
| if [ -n "$1" ]; then |
| export VCPKG_DIR="$VCPKG_ROOT/installed/$TRIPLET" | ||
|
|
||
| linux/arm64/update_vcpkg_libs.sh | ||
| linux/update_vcpkg_libs.sh $TRIPLET |
Copilot
AI
Oct 6, 2025
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.
Quote the variable to prevent word splitting: linux/update_vcpkg_libs.sh \"$TRIPLET\"
| linux/update_vcpkg_libs.sh $TRIPLET | |
| linux/update_vcpkg_libs.sh "$TRIPLET" |
| export VCPKG_DIR="$VCPKG_ROOT/installed/$TRIPLET" | ||
|
|
||
| linux/arm64/update_vcpkg_apps.sh | ||
| linux/update_vcpkg_apps.sh $TRIPLET |
Copilot
AI
Oct 6, 2025
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.
Quote the variable to prevent word splitting: linux/update_vcpkg_apps.sh \"$TRIPLET\"
| linux/update_vcpkg_apps.sh $TRIPLET | |
| linux/update_vcpkg_apps.sh "$TRIPLET" |
| export VCPKG_DIR="$VCPKG_ROOT/installed/$TRIPLET" | ||
| export PKG_CONFIG_PATH=$VCPKG_DIR/lib/pkgconfig/ | ||
|
|
||
| linux/update_vcpkg_manager.sh $TRIPLET |
Copilot
AI
Oct 6, 2025
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.
Quote the variable to prevent word splitting: linux/update_vcpkg_manager.sh \"$TRIPLET\"
| linux/update_vcpkg_manager.sh $TRIPLET | |
| linux/update_vcpkg_manager.sh "$TRIPLET" |
| VCPKG_ROOT="$BUILD_DIR/vcpkg" | ||
| export VCPKG_DIR="$VCPKG_ROOT/installed/$TRIPLET" | ||
|
|
||
| linux/update_vcpkg_client.sh $TRIPLET |
Copilot
AI
Oct 6, 2025
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.
Quote the variable to prevent word splitting: linux/update_vcpkg_client.sh \"$TRIPLET\"
| linux/update_vcpkg_client.sh $TRIPLET | |
| linux/update_vcpkg_client.sh "$TRIPLET" |
cdd80b6 to
efa2929
Compare
efa2929 to
a3de1a9
Compare
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
Copilot reviewed 41 out of 41 changed files in this pull request and generated 3 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| fi | ||
|
|
||
| TRIPLET="x64-linux" | ||
| if [ ! -z "$1" ]; then |
Copilot
AI
Oct 6, 2025
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.
Use more robust parameter checking. The construct [ ! -z "$1" ] should be [ -n "$1" ] for better readability and POSIX compliance.
| if [ ! -z "$1" ]; then | |
| if [ -n "$1" ]; then |
| fi | ||
|
|
||
| TRIPLET="x64-linux" | ||
| if [ ! -z "$1" ]; then |
Copilot
AI
Oct 6, 2025
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.
Use more robust parameter checking. The construct [ ! -z "$1" ] should be [ -n "$1" ] for better readability and POSIX compliance.
| if [ ! -z "$1" ]; then | |
| if [ -n "$1" ]; then |
| fi | ||
|
|
||
| TRIPLET="x64-linux" | ||
| if [ ! -z "$1" ]; then |
Copilot
AI
Oct 6, 2025
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.
Use more robust parameter checking. The construct [ ! -z "$1" ] should be [ -n "$1" ] for better readability and POSIX compliance.
| if [ ! -z "$1" ]; then | |
| if [ -n "$1" ]; then |
675da6e to
7f99364
Compare
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
Copilot reviewed 37 out of 37 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
a8292aa to
9695463
Compare
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
Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| prefixes=$(echo "$packets"| cut -d '_' -f 1 | sort -n | uniq) | ||
| suffixes=$(echo "$packets"| cut -d '_' -f 3- | sort -V | uniq) | ||
| for prefix in $prefixes; do | ||
| echo $prefix | ||
| for suffix in $suffixes; do | ||
| echo " $suffix" | ||
| matched_packets=$(echo "$packets" | grep "^${prefix}_.*_${suffix}$") | ||
| echo "$matched_packets" | tail -n 1 | while IFS= read -r packet; do | ||
| echo " Adding: $packet" | ||
| aptly -config=$CONF_FILE repo remove boinc-$TYPE $packet | ||
| exit_on_fail "Failed to remove the package" |
Copilot
AI
Oct 10, 2025
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.
In the stable branch you (a) use packets instead of alpha_packets, so the selection is empty, and (b) call repo remove instead of repo import. This prevents promoting the latest alpha packages into the stable repo. Replace packets with alpha_packets and use aptly ... repo import boinc-alpha-mirror boinc-$TYPE "$packet".
| prefixes=$(echo "$packets"| cut -d '_' -f 1 | sort -n | uniq) | |
| suffixes=$(echo "$packets"| cut -d '_' -f 3- | sort -V | uniq) | |
| for prefix in $prefixes; do | |
| echo $prefix | |
| for suffix in $suffixes; do | |
| echo " $suffix" | |
| matched_packets=$(echo "$packets" | grep "^${prefix}_.*_${suffix}$") | |
| echo "$matched_packets" | tail -n 1 | while IFS= read -r packet; do | |
| echo " Adding: $packet" | |
| aptly -config=$CONF_FILE repo remove boinc-$TYPE $packet | |
| exit_on_fail "Failed to remove the package" | |
| prefixes=$(echo "$alpha_packets"| cut -d '_' -f 1 | sort -n | uniq) | |
| suffixes=$(echo "$alpha_packets"| cut -d '_' -f 3- | sort -V | uniq) | |
| for prefix in $prefixes; do | |
| echo $prefix | |
| for suffix in $suffixes; do | |
| echo " $suffix" | |
| matched_packets=$(echo "$alpha_packets" | grep "^${prefix}_.*_${suffix}$") | |
| echo "$matched_packets" | tail -n 1 | while IFS= read -r packet; do | |
| echo " Importing: $packet" | |
| aptly -config=$CONF_FILE repo import boinc-alpha-mirror boinc-$TYPE "$packet" | |
| exit_on_fail "Failed to import the package" |
| include(${VCPKG_ROOT}/triplets/community/arm64-linux-release.cmake) | ||
|
|
Copilot
AI
Oct 10, 2025
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.
The included upstream triplet path arm64-linux-release.cmake is likely incorrect; vcpkg provides arm64-linux.cmake in community triplets. Include arm64-linux.cmake and explicitly set VCPKG_BUILD_TYPE release (as done for x64) to ensure single-config builds.
| include(${VCPKG_ROOT}/triplets/community/arm64-linux-release.cmake) | |
| include(${VCPKG_ROOT}/triplets/community/arm64-linux.cmake) | |
| set(VCPKG_BUILD_TYPE release) |
.github/workflows/linux-package.yml
Outdated
| RELEASE_TYPE=nightly # temporary for testing | ||
| echo "RELEASE_TYPE=${RELEASE_TYPE}" >> $GITHUB_ENV | ||
| echo "SKIP_RUN=1" >> $GITHUB_ENV | ||
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| #if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| with: | ||
| fetch-depth: 2 | ||
|
|
||
| - name: DNF Preparation | ||
| id: dnf-prep | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| #if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| run: | | ||
| sudo echo "max_parallel_downloads=10" >> /etc/dnf/dnf.conf | ||
| sudo echo "fastestmirror=True" >> /etc/dnf/dnf.conf | ||
| sudo dnf install -y wget rpm rpm-build rpm-sign expect createrepo_c dnf-utils jq p7zip-plugins | ||
| - name: Setup GPG keys | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| #if: ${{ success() && env.SKIP_RUN == 0 }} |
Copilot
AI
Oct 10, 2025
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.
The gating conditions for repo publishing steps are commented out and RELEASE_TYPE is force-set to nightly; this risks running publishing logic unexpectedly (including on forks). Restore the if: guards and remove the forced override to keep release/publish actions properly gated.
.github/workflows/linux-package.yml
Outdated
| - name: DNF Preparation | ||
| id: dnf-prep | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| #if: ${{ success() && env.SKIP_RUN == 0 }} |
Copilot
AI
Oct 10, 2025
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.
The gating conditions for repo publishing steps are commented out and RELEASE_TYPE is force-set to nightly; this risks running publishing logic unexpectedly (including on forks). Restore the if: guards and remove the forced override to keep release/publish actions properly gated.
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" | ||
| export _libcurl_pc="$VCPKG_DIR/lib/pkgconfig/libcurl.pc" | ||
| export PKG_CONFIG_PATH=$VCPKG_DIR/lib/pkgconfig/ | ||
| export X_EXTRA_LIBS="-I$VCPKG_DIR/include $(pkg-config --libs freeglut)" |
Copilot
AI
Oct 10, 2025
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.
X_EXTRA_LIBS should only contain linker flags; include paths belong in CPPFLAGS. Move -I$VCPKG_DIR/include into CPPFLAGS to avoid passing non-library flags via LIBS and to improve configure-time detection.
| export X_EXTRA_LIBS="-I$VCPKG_DIR/include $(pkg-config --libs freeglut)" | |
| export X_EXTRA_LIBS="$(pkg-config --libs freeglut)" |
| { | ||
| "name": "libx11", | ||
| "host": true | ||
| }, | ||
| { |
Copilot
AI
Oct 10, 2025
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.
Declaring a host dependency on the same port (libx11) can create a self-dependency loop in vcpkg’s resolver. Consider moving build tools to a separate feature or using manual-tools from a bootstrap step without expressing a self host dependency.
| { | |
| "name": "libx11", | |
| "host": true | |
| }, | |
| { | |
| { |
342ddfc to
2427523
Compare
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
Copilot reviewed 43 out of 43 changed files in this pull request and generated 10 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| export CFLAGS="-march=armv8-a -O3" | ||
| export CXXFLAGS="-march=armv8-a -O3 -std=c++11" | ||
| export CPPFLAGS="-I$VCPKG_DIR/include -I$VCPKG_DIR/include/" | ||
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" |
Copilot
AI
Oct 10, 2025
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.
-march is a compile flag and should be set in CFLAGS/CXXFLAGS, not LDFLAGS. Drop -march from LDFLAGS to avoid passing an unsupported option to the linker.
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" | |
| export LDFLAGS="-static-libstdc++ -s" |
| export CFLAGS="-march=armv8-a -O3" | ||
| export CXXFLAGS="-march=armv8-a -O3 -std=c++11" | ||
| export CPPFLAGS="-I$VCPKG_DIR/include -I$VCPKG_DIR/include/" | ||
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" |
Copilot
AI
Oct 10, 2025
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.
-march belongs in CFLAGS/CXXFLAGS, not LDFLAGS. Remove -march from LDFLAGS to prevent linker warnings/errors.
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" | |
| export LDFLAGS="-static-libstdc++ -s" |
| "port-version": 1, | ||
| "description": "Portable library for creating graphical user interfaces.", | ||
| "homepage": "https://www.gtk.org/", | ||
| "license": null, |
Copilot
AI
Oct 10, 2025
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.
vcpkg manifest license must be a string or omitted; null is not a valid value and will fail schema validation. Either remove the license field or set it to the correct SPDX identifier (e.g., "LGPL-2.0-or-later").
| "license": null, |
| "port-version": 3, | ||
| "description": "Base DBus XML interfaces for accessibility, the accessibility registry daemon, and atspi library.", | ||
| "homepage": "https://www.gtk.org/", | ||
| "license": null, |
Copilot
AI
Oct 10, 2025
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.
The license field should not be null in vcpkg manifests. Remove the field or provide the correct SPDX identifier (e.g., "LGPL-2.1-or-later").
| "license": null, | |
| "license": "LGPL-2.1-or-later", |
| "xcb", | ||
| "xproto", |
Copilot
AI
Oct 10, 2025
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.
Dependency names don't match vcpkg port names; use "libxcb" instead of "xcb" and "xorgproto" instead of "xproto" to resolve dependencies correctly.
| "xcb", | |
| "xproto", | |
| "libxcb", | |
| "xorgproto", |
| find_program(XLSTPROC NAMES "xsltproc${VCPKG_HOST_EXECUTABLE_SUFFIX}" PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/libxslt" PATH_SUFFIXES "bin") | ||
| endif() | ||
| if(NOT XLSTPROC) | ||
| message(FATAL_ERROR "${PORT} requires xlstproc for the host system. Please install libxslt within vcpkg or your system package manager!") |
Copilot
AI
Oct 10, 2025
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.
Typo in the error message: "xlstproc" should be "xsltproc".
| message(FATAL_ERROR "${PORT} requires xlstproc for the host system. Please install libxslt within vcpkg or your system package manager!") | |
| message(FATAL_ERROR "${PORT} requires xsltproc for the host system. Please install libxslt within vcpkg or your system package manager!") |
| int len; | ||
|
|
||
| (void) GetHomeDir (fname, (int) (PATH_MAX - strlen (slashDotXdefaultsDash) - 1)); | ||
| diff --git a/src/SetLocale.c b/src/SetLocale.c |
Copilot
AI
Oct 10, 2025
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.
The "diff --git" line is indented with spaces; patch application tools expect "diff --git" to start at column 0. Remove the leading spaces to ensure the patch applies cleanly.
| diff --git a/src/SetLocale.c b/src/SetLocale.c | |
| diff --git a/src/SetLocale.c b/src/SetLocale.c |
.github/workflows/linux-package.yml
Outdated
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| #if: ${{ success() && env.SKIP_RUN == 0 }} |
Copilot
AI
Oct 10, 2025
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.
The conditional if is commented out; this step will now run unconditionally, ignoring SKIP_RUN and RELEASE_TYPE gating. Restore the if condition to keep the workflow logic intact.
| #if: ${{ success() && env.SKIP_RUN == 0 }} | |
| if: ${{ success() && env.SKIP_RUN == 0 }} |
2427523 to
1ee8fdf
Compare
1ee8fdf to
e8cc7b5
Compare
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
Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| matched_packets=$(echo "$packets" | grep "^${prefix}-.*\.${suffix}.rpm$") | ||
| echo "$matched_packets" | tail -n 1 | while IFS= read -r packet; do | ||
| echo "Copy: $packet" | ||
| cp $value $CWD/mirror/ |
Copilot
AI
Oct 11, 2025
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.
The variable used for copy is incorrect; cp references $value which is undefined in this scope. Use $packet to copy the selected RPM.
| cp $value $CWD/mirror/ | |
| cp $packet $CWD/mirror/ |
| aptly -config=$CONF_FILE repo remove boinc-$TYPE $packet | ||
| exit_on_fail "Failed to remove the package" |
Copilot
AI
Oct 11, 2025
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.
This block is intended to add the latest alpha package to the stable repo, but it removes it instead. Replace repo remove with repo import boinc-alpha-mirror boinc-$TYPE "$packet" to import the latest package from the alpha mirror.
| aptly -config=$CONF_FILE repo remove boinc-$TYPE $packet | |
| exit_on_fail "Failed to remove the package" | |
| aptly -config=$CONF_FILE repo import boinc-alpha-mirror boinc-$TYPE "$packet" | |
| exit_on_fail "Failed to import the package" |
| export CFLAGS="-march=armv8-a -O3" | ||
| export CXXFLAGS="-march=armv8-a -O3 -std=c++11" | ||
| export CPPFLAGS="-I$VCPKG_DIR/include" | ||
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" |
Copilot
AI
Oct 11, 2025
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.
-march is a compile-time option and should be set in CFLAGS/CXXFLAGS, not LDFLAGS; remove -march=armv8-a from LDFLAGS to avoid passing it to the linker.
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" | |
| export LDFLAGS="-static-libstdc++ -s" |
| export CFLAGS="-march=armv8-a -O3" | ||
| export CXXFLAGS="-march=armv8-a -O3 -std=c++11" | ||
| export CPPFLAGS="-I$VCPKG_DIR/include" | ||
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" |
Copilot
AI
Oct 11, 2025
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.
Remove -march=armv8-a from LDFLAGS; it is a compiler flag and should remain only in CFLAGS/CXXFLAGS.
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" | |
| export LDFLAGS="-static-libstdc++ -s" |
.github/workflows/linux-package.yml
Outdated
| RELEASE_TYPE=nightly # for debug purposes | ||
| echo "SKIP_RUN=1" >> $GITHUB_ENV | ||
| echo "RELEASE_TYPE=${RELEASE_TYPE}" >> $GITHUB_ENV | ||
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| # if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| with: | ||
| fetch-depth: 2 | ||
|
|
||
| - name: Install dependencies | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| # if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| run: | | ||
| sudo apt-get update -qq | ||
| sudo apt-get install -y aptly gnupg2 gpgv | ||
| - name: Setup GPG keys | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| # if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| run: | | ||
| echo "${{ env.REPO_PRIV_KEY }}" > ${{ github.workspace }}/boinc.priv.key | ||
| echo "${{ env.REPO_KEY }}" > ${{ github.workspace }}/boinc.pub.key | ||
| cp "${{ github.workspace }}/boinc.pub.key" "${{ github.workspace }}/${{ env.PUBKEY }}" | ||
| - name: Download client | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| - name: Download client arm64 | ||
| # if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 | ||
| with: | ||
| name: linux-package_client_${{ matrix.os }}_${{ github.event.pull_request.head.sha }} | ||
| name: linux-package_client_arm64_${{ matrix.os }}_${{ github.event.pull_request.head.sha }} | ||
|
|
||
| - name: Download manager | ||
| if: ${{ success() && env.SKIP_RUN == 0 }} | ||
| - name: Download client amd64 | ||
| # if: ${{ success() && env.SKIP_RUN == 0 }} |
Copilot
AI
Oct 11, 2025
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.
Debug changes force RELEASE_TYPE=nightly and comment out step conditions, causing repository update steps to run unconditionally; revert to guarded conditions (if:) and remove the hard-coded RELEASE_TYPE before merging.
Signed-off-by: Vitalii Koshura <[email protected]>
e8cc7b5 to
b6436bf
Compare
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
Copilot reviewed 43 out of 43 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
.github/workflows/rpmrepo/repo_update.sh:1
- The loop reads each package into the variable packet, but the copy uses an undefined variable value. Replace value with packet to actually copy the selected file and fix the error message accordingly.
#!/bin/bash
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| export CFLAGS="-march=armv8-a -O3" | ||
| export CXXFLAGS="-march=armv8-a -O3 -std=c++11" | ||
| export CPPFLAGS="-I$VCPKG_DIR/include" | ||
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" |
Copilot
AI
Oct 11, 2025
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.
-march=armv8-a is a compile-time flag and already present in CFLAGS/CXXFLAGS; passing it in LDFLAGS is unnecessary and can cause toolchain warnings. Recommend removing -march=armv8-a from LDFLAGS to keep compiler and linker flags separated.
| export LDFLAGS="-march=armv8-a -static-libstdc++ -s" | |
| export LDFLAGS="-static-libstdc++ -s" |
No description provided.