Update vmImage for cI to solve space issue. #32
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: build-pcl | |
| on: [push, pull_request] | |
| permissions: | |
| packages: write | |
| jobs: | |
| gcc-build: | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: ubuntu20.04-gcc | |
| image: pointcloudlibrary/env:20.04 | |
| cc: gcc | |
| cxx: g++ | |
| build_gpu: ON | |
| cmake_args: '-DPCL_WARNINGS_ARE_ERRORS=ON -DCMAKE_CXX_STANDARD=14 -DCMAKE_CUDA_STANDARD=14' | |
| - name: ubuntu24.04-gcc | |
| image: pointcloudlibrary/env:24.04 | |
| cc: gcc | |
| cxx: g++ | |
| build_gpu: ON | |
| cmake_args: '-DCMAKE_CXX_STANDARD=17 -DCMAKE_CUDA_STANDARD=17' | |
| container: ${{ matrix.image }} | |
| env: | |
| CC: ${{ matrix.cc }} | |
| CXX: ${{ matrix.cxx }} | |
| BUILD_GPU: ${{ matrix.build_gpu }} | |
| CMAKE_CXX_FLAGS: '-Wall -Wextra -Wnoexcept-type' | |
| DISPLAY: ':99.0' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Start Xvfb (${{ matrix.name }}) | |
| run: (nohup Xvfb :99 -screen 0 1280x1024x24 -nolisten tcp -nolisten unix &) | |
| - name: Configure (${{ matrix.name }}) | |
| run: | | |
| cmake -B build -S . ${{ matrix.cmake_args }} \ | |
| -DCMAKE_BUILD_TYPE=MinSizeRel \ | |
| -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \ | |
| -DPCL_ONLY_CORE_POINT_TYPES=ON \ | |
| -DPCL_DISABLE_GPU_TESTS=ON \ | |
| -DBUILD_simulation=ON \ | |
| -DBUILD_surface_on_nurbs=ON \ | |
| -DBUILD_global_tests=ON \ | |
| -DBUILD_benchmarks=ON \ | |
| -DBUILD_examples=ON \ | |
| -DBUILD_tools=ON \ | |
| -DBUILD_apps=ON \ | |
| -DBUILD_apps_3d_rec_framework=ON \ | |
| -DBUILD_apps_cloud_composer=ON \ | |
| -DBUILD_apps_in_hand_scanner=ON \ | |
| -DBUILD_apps_modeler=ON \ | |
| -DBUILD_apps_point_cloud_editor=ON \ | |
| -DBUILD_CUDA=$BUILD_GPU \ | |
| -DBUILD_GPU=$BUILD_GPU \ | |
| -DBUILD_cuda_io=$BUILD_GPU \ | |
| -DBUILD_gpu_tracking=$BUILD_GPU \ | |
| -DBUILD_gpu_surface=$BUILD_GPU | |
| cmake -B build -S . | |
| - name: Build (${{ matrix.name }}) | |
| run: cmake --build build -- -j$(nproc) | |
| - name: Build tests target (${{ matrix.name }}) | |
| run: cmake --build build --target tests -- -j$(nproc) | |
| - name: Run ctest (${{ matrix.name }}) | |
| run: ctest --test-dir build --output-on-failure -j$(nproc) | |
| macos-clang: | |
| runs-on: ${{ matrix.vmimage }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - vmimage: macOS-14 | |
| osx_version: '14' | |
| - vmimage: macOS-15 | |
| osx_version: '15' | |
| env: | |
| CMAKE_CXX_FLAGS: '-Wall -Wextra -Wabi -Werror -Wno-error=deprecated-declarations' | |
| GOOGLE_TEST_DIR: '${{ github.workspace }}/../googletest' | |
| OSX_VERSION: ${{ matrix.osx_version }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Dependencies (macOS ${{ matrix.osx_version }}) | |
| run: | | |
| brew update | |
| # Minimal dependencies only | |
| brew install cmake pkg-config boost eigen flann nanoflann libusb qhull zlib cjson | |
| brew install cmake pkg-config boost eigen flann nanoflann glew libusb qhull vtk freeglut qt@5 libpcap libomp suite-sparse zlib google-benchmark cjson | |
| git clone https://github.com/abseil/googletest.git "$GOOGLE_TEST_DIR" | |
| cd "$GOOGLE_TEST_DIR" && git checkout release-1.8.1 | |
| - name: Configure (macOS ${{ matrix.osx_version }}) | |
| run: | | |
| mkdir -p "$GITHUB_WORKSPACE/build" && cd "$GITHUB_WORKSPACE/build" | |
| cmake "$GITHUB_WORKSPACE" \ | |
| -DCMAKE_BUILD_TYPE="MinSizeRel" \ | |
| -DCMAKE_OSX_SYSROOT="/Library/Developer/CommandLineTools/SDKs/MacOSX$(OSX_VERSION).sdk" \ | |
| -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \ | |
| -DGTEST_SRC_DIR="$GOOGLE_TEST_DIR/googletest" \ | |
| -DGTEST_INCLUDE_DIR="$GOOGLE_TEST_DIR/googletest/include" \ | |
| -DQt5_DIR=/usr/local/opt/qt5/lib/cmake/Qt5 \ | |
| -DPCL_ONLY_CORE_POINT_TYPES=ON \ | |
| -DBUILD_surface_on_nurbs=ON -DUSE_UMFPACK=ON \ | |
| -DBUILD_simulation=ON \ | |
| -DBUILD_global_tests=ON \ | |
| -DBUILD_benchmarks=ON \ | |
| -DBUILD_examples=ON \ | |
| -DBUILD_tools=ON \ | |
| -DBUILD_apps=ON \ | |
| -DBUILD_apps_3d_rec_framework=ON \ | |
| -DBUILD_apps_cloud_composer=ON \ | |
| -DBUILD_apps_in_hand_scanner=ON \ | |
| -DBUILD_apps_modeler=ON \ | |
| -DBUILD_apps_point_cloud_editor=ON \ | |
| -DBoost_USE_DEBUG_RUNTIME=OFF | |
| - name: Build (macOS ${{ matrix.osx_version }}) | |
| run: | | |
| cd "$GITHUB_WORKSPACE/build" | |
| cmake --build . -- -j$(sysctl -n hw.ncpu) | |
| - name: Build tests target (macOS ${{ matrix.osx_version }}) | |
| run: | | |
| cd "$GITHUB_WORKSPACE/build" | |
| cmake --build . --target tests -- -j$(sysctl -n hw.ncpu) | |
| - name: Run ctest (macOS ${{ matrix.osx_version }}) | |
| run: | | |
| cd "$GITHUB_WORKSPACE/build" | |
| ctest --output-on-failure -j$(sysctl -n hw.ncpu) | |
| ubuntu-clang: | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: ubuntu22.04-clang | |
| image: pointcloudlibrary/env:22.04 | |
| cc: clang | |
| cxx: clang++ | |
| build_gpu: OFF | |
| cmake_args: '' | |
| container: ${{ matrix.image }} | |
| env: | |
| CC: ${{ matrix.cc }} | |
| CXX: ${{ matrix.cxx }} | |
| BUILD_GPU: ${{ matrix.build_gpu }} | |
| CMAKE_CXX_FLAGS: '-Wall -Wextra' | |
| DISPLAY: ':99.0' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Start Xvfb (${{ matrix.name }}) | |
| run: (nohup Xvfb :99 -screen 0 1280x1024x24 -nolisten tcp -nolisten unix &) | |
| - name: Configure (${{ matrix.name }}) | |
| run: | | |
| cmake -B build -S . ${{ matrix.cmake_args }} \ | |
| -DCMAKE_BUILD_TYPE=MinSizeRel \ | |
| -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \ | |
| -DPCL_ONLY_CORE_POINT_TYPES=ON \ | |
| -DPCL_DISABLE_GPU_TESTS=ON \ | |
| -DBUILD_simulation=ON \ | |
| -DBUILD_surface_on_nurbs=ON \ | |
| -DBUILD_global_tests=ON \ | |
| -DBUILD_benchmarks=ON \ | |
| -DBUILD_examples=ON \ | |
| -DBUILD_tools=ON \ | |
| -DBUILD_apps=ON \ | |
| -DBUILD_apps_3d_rec_framework=ON \ | |
| -DBUILD_apps_cloud_composer=ON \ | |
| -DBUILD_apps_in_hand_scanner=ON \ | |
| -DBUILD_apps_modeler=ON \ | |
| -DBUILD_apps_point_cloud_editor=ON \ | |
| -DBUILD_CUDA=$BUILD_GPU \ | |
| -DBUILD_GPU=$BUILD_GPU \ | |
| -DBUILD_cuda_io=$BUILD_GPU \ | |
| -DBUILD_gpu_tracking=$BUILD_GPU \ | |
| -DBUILD_gpu_surface=$BUILD_GPU | |
| cmake -B build -S . | |
| - name: Build (${{ matrix.name }}) | |
| run: cmake --build build -- -j$(nproc) | |
| - name: Build tests target (${{ matrix.name }}) | |
| run: cmake --build build --target tests -- -j$(nproc) | |
| - name: Run ctest (${{ matrix.name }}) | |
| run: ctest --test-dir build --output-on-failure -j$(nproc) | |
| ubuntu-indices: | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| matrix: | |
| include: | |
| - name: ubuntu22.04-clang-indices | |
| image: pointcloudlibrary/env:22.04 | |
| cc: clang | |
| cxx: clang++ | |
| index_signed: OFF | |
| index_size: 64 | |
| container: ${{ matrix.image }} | |
| env: | |
| CC: ${{ matrix.cc }} | |
| CXX: ${{ matrix.cxx }} | |
| CMAKE_CXX_FLAGS: '-Wall -Wextra' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Configure (${{ matrix.name }}) | |
| run: | | |
| cmake -B build -S . \ | |
| -DCMAKE_BUILD_TYPE=MinSizeRel \ | |
| -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \ | |
| -DPCL_ONLY_CORE_POINT_TYPES=ON \ | |
| -DPCL_INDEX_SIGNED=${{ matrix.index_signed }} \ | |
| -DPCL_INDEX_SIZE=${{ matrix.index_size }} \ | |
| -DBUILD_global_tests=ON | |
| cmake -B build -S . | |
| - name: Build (${{ matrix.name }}) | |
| run: cmake --build build -- -j$(nproc) | |
| - name: Build tests target (${{ matrix.name }}) | |
| run: cmake --build build --target tests -- -j$(nproc) | |
| - name: Run ctest (${{ matrix.name }}) | |
| run: ctest --test-dir build --output-on-failure -j$(nproc) | |
| windows-msvc: | |
| runs-on: windows-2022 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: windows-x86 | |
| architecture: x86 | |
| generator: 'Visual Studio 16 2019' | |
| platform_args: '-A Win32' | |
| - name: windows-x64 | |
| architecture: x64 | |
| generator: 'Visual Studio 17 2022' | |
| platform_args: '-A x64' | |
| env: | |
| USERNAME: larshg | |
| FEED_URL: https://nuget.pkg.github.com/larshg/index.json | |
| VCPKG_BINARY_SOURCES: "clear;nuget,https://nuget.pkg.github.com/larshg/index.json,readwrite" | |
| CONFIGURATION: Release | |
| IS_MAIN: ${{ github.ref == 'refs/heads/master' }} | |
| VCPKG_PAT_TOKEN: ${{ secrets.VCPKG_PAT_TOKEN }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: "check is VCPKG_PAT_TOKEN exists" | |
| if: ${{ env.VCPKG_PAT_TOKEN == '' }} | |
| run: 'echo "echo the secret \"VCPKG_PAT_TOKEN\" has not been made; echo please go to \"settings \> secrets \> actions\" to create it"' | |
| - name: Bootstrap vcpkg | |
| run: | | |
| echo $VCPKG_INSTALLATION_ROOT | |
| cd "$VCPKG_INSTALLATION_ROOT" | |
| ls | |
| git pull > nul | |
| ./bootstrap-vcpkg.bat -disableMetrics | |
| shell: bash | |
| - name: Add NuGet sources | |
| shell: pwsh | |
| run: | | |
| .$(vcpkg fetch nuget) ` | |
| sources add ` | |
| -Source "${{ env.FEED_URL }}" ` | |
| -StorePasswordInClearText ` | |
| -Name GitHubPackages ` | |
| -UserName "${{ env.USERNAME }}" ` | |
| -Password "${{ env.VCPKG_PAT_TOKEN }}" | |
| .$(vcpkg fetch nuget) ` | |
| setapikey "${{ env.VCPKG_PAT_TOKEN }}" ` | |
| -Source "${{ env.FEED_URL }}" | |
| - name: Setup vcpkg | |
| shell: pwsh | |
| run: | | |
| if (-Not (Test-Path "$Env:VCPKG_INSTALLATION_ROOT")) { git clone https://github.com/microsoft/vcpkg.git "$Env:VCPKG_INSTALLATION_ROOT" } | |
| cd "$Env:VCPKG_INSTALLATION_ROOT" | |
| .\bootstrap-vcpkg.bat | |
| - name: Set vcpkg triplet | |
| shell: pwsh | |
| run: | | |
| if ("${{ matrix.architecture }}" -eq "x64") { $t = "x64-windows-release" } else { $t = "x86-windows" } | |
| echo "VCPKG_TRIPLET=$t" >> $env:GITHUB_ENV | |
| - name: Install dependencies via vcpkg | |
| shell: pwsh | |
| run: | | |
| $packages = @('boost','eigen3','flann','qhull','cjson','gtest','vtk','glew','freeglut') | |
| foreach ($p in $packages) { & "$Env:VCPKG_INSTALLATION_ROOT\vcpkg.exe" install "$($p):$Env:VCPKG_TRIPLET" } | |
| - name: Configure (${{ matrix.name }}) | |
| shell: cmd | |
| run: | | |
| cmake -B build -S . -G"${{ matrix.generator }}" ${{ matrix.platform_args }} ^ | |
| -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% ^ | |
| -DCMAKE_TOOLCHAIN_FILE="%VCPKG_INSTALLATION_ROOT%\scripts\buildsystems\vcpkg.cmake" ^ | |
| -DCMAKE_BUILD_TYPE=MinSizeRel ^ | |
| -DVCPKG_APPLOCAL_DEPS=ON ^ | |
| -DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=ON ^ | |
| -DBUILD_simulation=ON ^ | |
| -DBUILD_surface_on_nurbs=ON ^ | |
| -DBUILD_global_tests=ON ^ | |
| -DBUILD_benchmarks=%IS_MAIN% ^ | |
| -DBUILD_tools=%IS_MAIN% ^ | |
| -DPCL_DISABLE_VISUALIZATION_TESTS=ON | |
| - name: Build (${{ matrix.name }}) | |
| shell: cmd | |
| run: cmake --build build --config %CONFIGURATION% | |
| - name: Build tests target (${{ matrix.name }}) | |
| shell: cmd | |
| run: cmake --build build --target tests --config %CONFIGURATION% | |
| - name: Run ctest (${{ matrix.name }}) | |
| shell: cmd | |
| run: ctest --test-dir build --config %CONFIGURATION% --output-on-failure |