-
Notifications
You must be signed in to change notification settings - Fork 1.2k
fix: CI #3206
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
fix: CI #3206
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -19,6 +19,13 @@ jobs: | |||||||||||
| runs-on: ubuntu-latest | ||||||||||||
|
|
||||||||||||
| steps: | ||||||||||||
| - name: Free Disk Space (Ubuntu Host) | ||||||||||||
| run: | | ||||||||||||
| sudo rm -rf /usr/share/dotnet | ||||||||||||
| sudo rm -rf /usr/local/lib/android | ||||||||||||
| sudo rm -rf /opt/ghc | ||||||||||||
| sudo rm -rf /opt/hostedtoolcache/CodeQL | ||||||||||||
| sudo docker system prune -af | ||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||
|
|
||||||||||||
| - name: Set up Go | ||||||||||||
|
|
@@ -159,7 +166,9 @@ jobs: | |||||||||||
| - name: Install deps | ||||||||||||
| run: | | ||||||||||||
| dnf update -y | ||||||||||||
| dnf install -y bash cmake wget git autoconf gcc perl-Digest-SHA tcl which tar g++ tar epel-release gcc-c++ libstdc++-devel gcc-toolset-13 | ||||||||||||
| dnf install -y bash cmake wget git autoconf gcc perl-Digest-SHA tcl which tar g++ tar epel-release gcc-c++ libstdc++-devel gcc-toolset-13 binutils | ||||||||||||
| dnf clean all | ||||||||||||
| rm -rf /var/cache/dnf | ||||||||||||
|
|
||||||||||||
| - name: Set up Go | ||||||||||||
| uses: actions/setup-go@v5 | ||||||||||||
|
|
@@ -169,7 +178,7 @@ jobs: | |||||||||||
| - name: Checkout | ||||||||||||
| uses: actions/checkout@v4 | ||||||||||||
| with: | ||||||||||||
| fetch-depth: 0 | ||||||||||||
| fetch-depth: 1 | ||||||||||||
|
|
||||||||||||
| - name: Configure CMake | ||||||||||||
| run: | | ||||||||||||
|
|
@@ -194,6 +203,22 @@ jobs: | |||||||||||
| - name: Cleanup | ||||||||||||
| run: | | ||||||||||||
| rm -rf ./buildtrees | ||||||||||||
| rm -rf ./build/Testing | ||||||||||||
| rm -rf ./deps/src ./deps/include ./deps/share | ||||||||||||
|
|
||||||||||||
| echo "Cleaning up object files to save space..." | ||||||||||||
| find ./build -name "*.o" -type f -delete | ||||||||||||
| find ./build -name "*.a" -type f -delete | ||||||||||||
| find ./build -name "*.pb.cc" -type f -delete | ||||||||||||
| find ./build -name "*.pb.h" -type f -delete | ||||||||||||
|
|
||||||||||||
| echo "Stripping debug symbols from binaries..." | ||||||||||||
| find ./build -type f -executable -not -name "*.sh" -exec strip --strip-debug {} \; || true | ||||||||||||
| rm -rf .git | ||||||||||||
| rm -rf include | ||||||||||||
| rm -rf docs | ||||||||||||
|
Comment on lines
+217
to
+219
|
||||||||||||
| rm -rf tools/codis_to_pika tools/aof_to_pika tools/binlog_sender | ||||||||||||
| rm -rf codis/ansible codis/example codis/doc | ||||||||||||
|
|
||||||||||||
| - name: Test | ||||||||||||
| working-directory: ${{ github.workspace }}/build | ||||||||||||
|
|
@@ -203,6 +228,31 @@ jobs: | |||||||||||
| working-directory: ${{ github.workspace }} | ||||||||||||
| run: ./pikatests.sh all clean | ||||||||||||
|
|
||||||||||||
| - name: Cleanup artifacts | ||||||||||||
| working-directory: ${{ github.workspace }}/build | ||||||||||||
| run: | | ||||||||||||
| df -h | ||||||||||||
| rm -rf Testing CMakeFiles CMakeCache.txt cmake_install.cmake Makefile | ||||||||||||
| find . -name "*.o" -o -name "*.a" -delete | ||||||||||||
|
||||||||||||
| find . -name "*.o" -o -name "*.a" -delete | |
| find . \( -name "*.o" -o -name "*.a" \) -delete |
Copilot
AI
Dec 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 CMAKE configuration only specifies CMAKE_C_COMPILER but not CMAKE_CXX_COMPILER. For a C++ project (indicated by DCMAKE_CXX_FLAGS_DEBUG), both compilers should be explicitly set to ensure consistent toolchain usage. Add -DCMAKE_CXX_COMPILER=$GCC_PREFIX/bin/g++-13 to match the C compiler specification.
| cmake -B build -DCMAKE_C_COMPILER=$GCC_PREFIX/bin/gcc-13 -DUSE_PIKA_TOOLS=ON -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_CXX_FLAGS_DEBUG=-fsanitize=address -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache | |
| cmake -B build -DCMAKE_C_COMPILER=$GCC_PREFIX/bin/gcc-13 -DCMAKE_CXX_COMPILER=$GCC_PREFIX/bin/g++-13 -DUSE_PIKA_TOOLS=ON -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_CXX_FLAGS_DEBUG=-fsanitize=address -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache |
Copilot
AI
Dec 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 sed command modifies test files to replace 'exec leaks' with 'exec echo "0 leaks"', effectively disabling memory leak detection in tests. While this may be intentional to avoid false positives or macOS-specific issues, consider documenting why leak detection is being disabled, as this could hide real memory leaks in the codebase.
| rm -rf ./buildtrees | |
| rm -rf ./buildtrees | |
| # Disable memory leak detection on macOS tests by replacing 'exec leaks' with a no-op. | |
| # This is done to avoid persistent false positives or compatibility issues with the 'leaks' tool on macOS CI. | |
| # See https://github.com/pikadb/pika/issues/XXXX for more details. (Replace with actual issue if available.) |
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
stripcommand is used here, but it may fail if binutils is not properly installed or if the package name differs on Rocky Linux 9. The|| truesuffix masks potential failures. Consider verifying that the strip command is available after installing binutils, or use a conditional check before running strip to ensure proper error handling.