From 80ae047db2cda0390b088cf759c8dc0ce0a8e4bd Mon Sep 17 00:00:00 2001 From: Sameer Sheorey <41028320+ssheorey@users.noreply.github.com> Date: Wed, 27 Mar 2024 17:22:00 -0700 Subject: [PATCH] Misc. CI updates and fixes (#6716) * Fix RemoveUnreferencedVertices for CUDA * Style fix * Remove docker build cache for CI to avoid SYCL CI failure. * Manual CI run for Ubuntu SYCL (workflow-dispatch) * Update github actions for Node 16 -> Node 20 migration: uploaded artifacts must have unique names * Remove build folders in CI to save space. Keep bin, lib, etc. 9.6G free space available for Ubuntu wheel CI now. --- .github/workflows/clean-gcloud-profiles.yml | 4 +- .github/workflows/documentation.yml | 14 ++--- .github/workflows/macos.yml | 51 +++++++++---------- .github/workflows/style.yml | 4 +- .github/workflows/ubuntu-cuda.yml | 10 ++-- .github/workflows/ubuntu-openblas.yml | 8 +-- .github/workflows/ubuntu-sycl.yml | 8 +-- .github/workflows/ubuntu-wheel.yml | 25 ++++----- .github/workflows/ubuntu.yml | 12 ++--- .github/workflows/vtk_packages.yml | 12 ++--- .github/workflows/webrtc.yml | 16 +++--- .github/workflows/windows.yml | 45 ++++++++-------- cpp/open3d/t/geometry/TriangleMesh.cpp | 1 + .../pipelines/registration/registration.cpp | 2 +- docker/Dockerfile.ci | 5 +- docker/Dockerfile.wheel | 5 +- docker/docker_build.sh | 2 + .../reconstruction_system/make_fragments.py | 1 + 18 files changed, 118 insertions(+), 107 deletions(-) diff --git a/.github/workflows/clean-gcloud-profiles.yml b/.github/workflows/clean-gcloud-profiles.yml index 5b5398156fd..0aec813a48f 100644 --- a/.github/workflows/clean-gcloud-profiles.yml +++ b/.github/workflows/clean-gcloud-profiles.yml @@ -36,12 +36,12 @@ jobs: fail-fast: false steps: - name: GCloud CLI auth - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 85368dd8a45..b0e289e41cc 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -29,7 +29,7 @@ jobs: DEVELOPER_BUILD: ${{ github.event.inputs.developer_build || 'ON' }} steps: - name: Checkout Open3D source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Maximize build space run: | @@ -37,13 +37,13 @@ jobs: maximize_ubuntu_github_actions_build_space - name: Checkout Open3D-ML source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: isl-org/Open3D-ML path: ${{ env.OPEN3D_ML_ROOT }} - name: Setup cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: # Ref: https://github.com/apache/incubator-mxnet/pull/18459/files path: ~/.ccache @@ -56,7 +56,7 @@ jobs: restore-keys: | ${{ runner.os }}-ccache - name: Set up Python version - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.8' @@ -81,7 +81,7 @@ jobs: ccache -s - name: Upload docs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: open3d_docs path: docs/_out/html @@ -89,13 +89,13 @@ jobs: - name: GCloud CLI auth if: ${{ github.ref == 'refs/heads/main' }} - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup if: ${{ github.ref == 'refs/heads/main' }} - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 00bd9636130..16b242d081b 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -39,9 +39,9 @@ jobs: LOW_MEM_USAGE: ON steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: # Ref: https://github.com/apache/incubator-mxnet/pull/18459/files path: ~/.ccache @@ -54,7 +54,7 @@ jobs: restore-keys: | ${{ runner.os }}-ccache - name: Set up Python version - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.8 - name: Install dependencies @@ -73,7 +73,7 @@ jobs: PATH=/usr/local/var/homebrew/linked/ccache/libexec:$PATH ccache -s ./util/run_ci.sh - DEVEL_PKG_NAME="$(basename package/open3d-devel-*.tar.xz)" + DEVEL_PKG_NAME="$(basename build/package/open3d-devel-*.tar.xz)" echo "DEVEL_PKG_NAME=$DEVEL_PKG_NAME" >> $GITHUB_ENV - name: Build Open3D viewer app if: ${{ env.BUILD_SHARED_LIBS == 'OFF' }} @@ -87,21 +87,21 @@ jobs: - name: Upload package if: ${{ env.BUILD_SHARED_LIBS == 'ON' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: open3d-devel-macosx + name: ${{ env.DEVEL_PKG_NAME }} path: build/package/${{ env.DEVEL_PKG_NAME }} if-no-files-found: error - name: GCloud CLI auth if: ${{ github.ref == 'refs/heads/main' && env.BUILD_SHARED_LIBS == 'ON' }} - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup if: ${{ github.ref == 'refs/heads/main' && env.BUILD_SHARED_LIBS == 'ON' }} - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} @@ -113,7 +113,7 @@ jobs: echo "Download devel package at: https://storage.googleapis.com/open3d-releases/devel/${{ env.DEVEL_PKG_NAME }}" - name: Upload Open3D viewer app - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: ${{ env.BUILD_SHARED_LIBS == 'OFF' }} with: name: open3d-app-macosx-10_15 @@ -143,16 +143,16 @@ jobs: OPEN3D_ML_ROOT: ${{ github.workspace }}/Open3D-ML steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Checkout Open3D-ML source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: isl-org/Open3D-ML path: ${{ env.OPEN3D_ML_ROOT }} - name: Setup cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: # Ref: https://github.com/apache/incubator-mxnet/pull/18459/files path: ~/.ccache @@ -166,7 +166,7 @@ jobs: ${{ runner.os }}-ccache - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} @@ -199,21 +199,21 @@ jobs: echo "PIP_PKG_NAME=$PIP_PKG_NAME" >> $GITHUB_ENV - name: Upload wheel - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: open3d_macosx_x86_64_wheels + name: ${{ env.PIP_PKG_NAME }} path: build/lib/python_package/pip_package/${{ env.PIP_PKG_NAME }} if-no-files-found: error - name: GCloud CLI auth if: ${{ github.ref == 'refs/heads/main' }} - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup if: ${{ github.ref == 'refs/heads/main' }} - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} @@ -249,23 +249,22 @@ jobs: OPEN3D_ML_ROOT: ${{ github.workspace }}/Open3D-ML steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Checkout Open3D-ML source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: isl-org/Open3D-ML path: ${{ env.OPEN3D_ML_ROOT }} - name: Download wheels - uses: actions/download-artifact@v3 - # See https://github.com/dawidd6/action-download-artifact for more - # flexible artifact download options + uses: actions/download-artifact@v4 with: - name: open3d_macosx_x86_64_wheels + pattern: open3d-*macosx*.whl + merge-multiple: true - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} @@ -290,12 +289,12 @@ jobs: needs: [build-wheel, MacOS] steps: - name: GCloud CLI auth - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index 744b997e2e7..e0de61516be 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -17,9 +17,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python version - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.8' - name: Install dependencies diff --git a/.github/workflows/ubuntu-cuda.yml b/.github/workflows/ubuntu-cuda.yml index ce4528a83ca..bc7dcf9f67a 100644 --- a/.github/workflows/ubuntu-cuda.yml +++ b/.github/workflows/ubuntu-cuda.yml @@ -64,7 +64,7 @@ jobs: CCACHE_TAR_NAME : open3d-ci-${{ matrix.CI_CONFIG }} steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: 'false' - name: Package code @@ -74,12 +74,12 @@ jobs: tar -czvf Open3D.tar.gz Open3D ls -alh - name: GCloud CLI auth - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} @@ -150,9 +150,9 @@ jobs: - name: Upload package if: ${{ env.BUILD_PACKAGE == 'true' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: open3d-devel-linux-x86_64-cuda + name: open3d-devel-linux-x86_64-cuda-${CI_CONFIG} path: open3d-devel-linux*.tar.xz if-no-files-found: error diff --git a/.github/workflows/ubuntu-openblas.yml b/.github/workflows/ubuntu-openblas.yml index 233c32bd96f..9bbb423f457 100644 --- a/.github/workflows/ubuntu-openblas.yml +++ b/.github/workflows/ubuntu-openblas.yml @@ -24,7 +24,7 @@ jobs: fail-fast: false steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Maximize build space run: | source util/ci_utils.sh @@ -66,7 +66,7 @@ jobs: GCE_INSTANCE_PREFIX: open3d-ci-openblas-arm64-py310-dev steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Package code run: | # GITHUB_WORKSPACE: /home/runner/work/Open3D/Open3D @@ -74,12 +74,12 @@ jobs: tar -czvf Open3D.tar.gz Open3D ls -alh - name: GCloud CLI auth - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} diff --git a/.github/workflows/ubuntu-sycl.yml b/.github/workflows/ubuntu-sycl.yml index 1c1ac21697d..4f4c9f6d9c1 100644 --- a/.github/workflows/ubuntu-sycl.yml +++ b/.github/workflows/ubuntu-sycl.yml @@ -1,6 +1,7 @@ name: Ubuntu SYCL on: + workflow_dispatch: push: branches: - main @@ -24,7 +25,7 @@ jobs: BUILD_SHARED_LIBS: [ON, OFF] steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Maximize build space run: | source util/ci_utils.sh @@ -38,6 +39,7 @@ jobs: fi - name: Docker test run: | + du -hs $PWD if [ "${{ matrix.BUILD_SHARED_LIBS }}" = "ON" ]; then docker/docker_test.sh sycl-shared else @@ -46,13 +48,13 @@ jobs: - name: GCloud CLI auth if: ${{ github.ref == 'refs/heads/main' }} - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup if: ${{ github.ref == 'refs/heads/main' }} - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} diff --git a/.github/workflows/ubuntu-wheel.yml b/.github/workflows/ubuntu-wheel.yml index a798762c965..906d07112f7 100644 --- a/.github/workflows/ubuntu-wheel.yml +++ b/.github/workflows/ubuntu-wheel.yml @@ -47,7 +47,7 @@ jobs: OPEN3D_CPU_RENDERING: true steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Maximize build space run: | source util/ci_utils.sh @@ -78,22 +78,22 @@ jobs: echo "PIP_PKG_NAME=$PIP_PKG_NAME" >> $GITHUB_ENV echo "PIP_CPU_PKG_NAME=$PIP_CPU_PKG_NAME" >> $GITHUB_ENV - name: Upload wheel to GitHub artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: open3d_linux_x86_64_wheels + name: ${{ env.PIP_PKG_NAME }} path: | ${{ env.PIP_PKG_NAME }} ${{ env.PIP_CPU_PKG_NAME }} if-no-files-found: error - name: GCloud CLI auth if: ${{ github.ref == 'refs/heads/main' }} - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup if: ${{ github.ref == 'refs/heads/main' }} - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} @@ -131,22 +131,23 @@ jobs: OPEN3D_ML_ROOT: ${{ github.workspace }}/Open3D-ML steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Maximize build space run: | source util/ci_utils.sh maximize_ubuntu_github_actions_build_space - name: Checkout Open3D-ML source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: isl-org/Open3D-ML path: ${{ env.OPEN3D_ML_ROOT }} - name: Download wheels - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: open3d_linux_x86_64_wheels + pattern: open3d*-manylinux*.whl + merge-multiple: true - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} - name: Test Python package @@ -181,12 +182,12 @@ jobs: needs: [build-wheel] steps: - name: GCloud CLI auth - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 1a69ec4da2d..3bbdaadc1d1 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -39,7 +39,7 @@ jobs: OPEN3D_CPU_RENDERING: true steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Maximize build space run: | source util/ci_utils.sh @@ -72,27 +72,27 @@ jobs: fi - name: Upload package to GitHub artifacts if: ${{ env.BUILD_SHARED_LIBS == 'ON' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: open3d-devel-linux-x86_64 + name: open3d-devel-linux-x86_64-ML_${{ matrix.MLOPS }} path: open3d-devel-*.tar.xz if-no-files-found: error - name: Upload viewer to GitHub artifacts if: ${{ env.BUILD_SHARED_LIBS == 'OFF' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: open3d-viewer-Linux path: open3d-viewer-*-Linux.deb if-no-files-found: error - name: GCloud CLI auth if: ${{ github.ref == 'refs/heads/main' }} - uses: 'google-github-actions/auth@v1' + uses: 'google-github-actions/auth@v2' with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup if: ${{ github.ref == 'refs/heads/main' }} - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} diff --git a/.github/workflows/vtk_packages.yml b/.github/workflows/vtk_packages.yml index 8ae7d812187..acd20c5260b 100644 --- a/.github/workflows/vtk_packages.yml +++ b/.github/workflows/vtk_packages.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-18.04 steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: CMake configure run: | mkdir build @@ -25,7 +25,7 @@ jobs: make -j$(nproc) cmake -E sha256sum vtk*.tar.gz > checksum_linux.txt - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: vtk_linux path: | @@ -53,7 +53,7 @@ jobs: - name: Disk space used run: Get-PSDrive - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Config # Move build directory to C: https://github.com/actions/virtual-environments/issues/1341 run: | @@ -75,7 +75,7 @@ jobs: ls cmake -E sha256sum (get-item vtk*.tar.gz).Name > checksum_win_${{matrix.configuration}}.txt - name: Upload package - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: vtk_windows_${{matrix.configuration}} path: | @@ -90,7 +90,7 @@ jobs: steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: CMake configure run: | mkdir build @@ -102,7 +102,7 @@ jobs: make -j2 cmake -E sha256sum vtk*.tar.gz > checksum_macos.txt - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: vtk_macos path: | diff --git a/.github/workflows/webrtc.yml b/.github/workflows/webrtc.yml index 4602379d00f..90c45e053e7 100644 --- a/.github/workflows/webrtc.yml +++ b/.github/workflows/webrtc.yml @@ -37,10 +37,10 @@ jobs: steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python version - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.8 @@ -61,9 +61,9 @@ jobs: build_webrtc - name: Upload WebRTC - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: webrtc_release + name: webrtc_release_${{ matrix.os }} path: | webrtc_*.tar.gz checksum_*.txt @@ -81,10 +81,10 @@ jobs: steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python version - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.8' @@ -167,9 +167,9 @@ jobs: cmake -E sha256sum webrtc_${env:WEBRTC_COMMIT_SHORT}_win.zip | Tee-Object -FilePath checksum_win.txt - name: Upload WebRTC - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: webrtc_release + name: webrtc_release_windows path: | ${{ env.WORK_DIR }}/webrtc_*.zip ${{ env.WORK_DIR }}/checksum_*.txt diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index d687f6b7e33..11223949007 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -54,7 +54,7 @@ jobs: run: Get-PSDrive - name: Setup Windows SDK - uses: GuillaumeFalourd/setup-windows10-sdk-action@v1.11 + uses: GuillaumeFalourd/setup-windows10-sdk-action@v2 with: sdk-version: 19041 @@ -92,10 +92,10 @@ jobs: echo "$CUDA_PATH\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python version - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.8 @@ -148,9 +148,9 @@ jobs: - name: Upload Package if: ${{ matrix.BUILD_SHARED_LIBS == 'ON' && matrix.BUILD_CUDA_MODULE == 'OFF' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: open3d-devel-windows + name: ${{ env.DEVEL_PKG_NAME }} path: ${{ env.BUILD_DIR }}/package/${{ env.DEVEL_PKG_NAME }} if-no-files-found: error @@ -166,7 +166,7 @@ jobs: - name: Upload Viewer if: ${{ matrix.BUILD_SHARED_LIBS == 'OFF' && matrix.STATIC_RUNTIME == 'ON' && matrix.BUILD_CUDA_MODULE == 'OFF' && matrix.CONFIG == 'Release' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: open3d-app-windows-amd64 path: C:\Program Files\Open3D\bin\Open3D @@ -174,13 +174,13 @@ jobs: - name: GCloud CLI auth if: ${{ github.ref == 'refs/heads/main' && matrix.BUILD_SHARED_LIBS == 'ON' && matrix.BUILD_CUDA_MODULE == 'OFF' }} - uses: google-github-actions/auth@v1 + uses: google-github-actions/auth@v2 with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup if: ${{ github.ref == 'refs/heads/main' && matrix.BUILD_SHARED_LIBS == 'ON' && matrix.BUILD_CUDA_MODULE == 'OFF' }} - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_DOCS_PROJECT }} @@ -255,15 +255,15 @@ jobs: steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Windows SDK - uses: GuillaumeFalourd/setup-windows10-sdk-action@v1.11 + uses: GuillaumeFalourd/setup-windows10-sdk-action@v2 with: sdk-version: 19041 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} @@ -307,21 +307,21 @@ jobs: echo "PIP_PKG_NAME=$PIP_PKG_NAME" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: Upload wheel - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: open3d_win_amd64_wheels + name: ${{ env.PIP_PKG_NAME }} path: ${{ env.BUILD_DIR }}/lib/python_package/pip_package/${{ env.PIP_PKG_NAME }} if-no-files-found: error - name: GCloud CLI auth if: ${{ github.ref == 'refs/heads/main' }} - uses: google-github-actions/auth@v1 + uses: google-github-actions/auth@v2 with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup if: ${{ github.ref == 'refs/heads/main' }} - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_DOCS_PROJECT }} @@ -360,17 +360,16 @@ jobs: steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Download wheels - uses: actions/download-artifact@v3 - # See https://github.com/dawidd6/action-download-artifact for more - # flexible artifact download options + uses: actions/download-artifact@v4 with: - name: open3d_win_amd64_wheels + pattern: open3d-*win*.whl + merge-multiple: true - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} @@ -418,12 +417,12 @@ jobs: needs: [build-wheel] steps: - name: GCloud CLI auth - uses: google-github-actions/auth@v1 + uses: google-github-actions/auth@v2 with: project_id: ${{ secrets.GCE_PROJECT }} credentials_json: '${{ secrets.GCE_SA_KEY_GPU_CI }}' - name: GCloud CLI setup - uses: google-github-actions/setup-gcloud@v1 + uses: google-github-actions/setup-gcloud@v2 with: version: ${{ env.GCE_CLI_GHA_VERSION }} project_id: ${{ secrets.GCE_PROJECT }} diff --git a/cpp/open3d/t/geometry/TriangleMesh.cpp b/cpp/open3d/t/geometry/TriangleMesh.cpp index 7316901b473..2bf329838cc 100644 --- a/cpp/open3d/t/geometry/TriangleMesh.cpp +++ b/cpp/open3d/t/geometry/TriangleMesh.cpp @@ -1292,6 +1292,7 @@ TriangleMesh TriangleMesh::RemoveUnreferencedVertices() { UpdateTriangleIndicesByVertexMask(tris_cpu, vertex_mask); }); + SetTriangleIndices(tris_cpu.To(GetDevice())); } // send the vertex mask to original device and apply to diff --git a/cpp/pybind/pipelines/registration/registration.cpp b/cpp/pybind/pipelines/registration/registration.cpp index f5165537fea..cddcb7e7e80 100644 --- a/cpp/pybind/pipelines/registration/registration.cpp +++ b/cpp/pybind/pipelines/registration/registration.cpp @@ -351,7 +351,7 @@ Sets :math:`c = 1` if ``with_scaling`` is ``False``. "Check if two point clouds build the polygons with similar " "edge lengths. That is, checks if the lengths of any two " "arbitrary edges (line formed by two vertices) individually " - "drawn withinin source point cloud and within the target " + "drawn within the source point cloud and within the target " "point cloud with correspondences are similar. The only " "parameter similarity_threshold is a number between 0 " "(loose) and 1 (strict)"); diff --git a/docker/Dockerfile.ci b/docker/Dockerfile.ci index e446353744a..73dd3fe1aac 100644 --- a/docker/Dockerfile.ci +++ b/docker/Dockerfile.ci @@ -17,6 +17,7 @@ ARG BUILD_TENSORFLOW_OPS ARG BUILD_PYTORCH_OPS ARG PACKAGE ARG BUILD_SYCL_MODULE +ARG CI RUN if [ -z "${DEVELOPER_BUILD}" ]; then echo "Error: ARG DEVELOPER_BUILD not specified."; exit 1; fi \ && if [ -z "${CCACHE_TAR_NAME}" ]; then echo "Error: ARG CCACHE_TAR_NAME not specified."; exit 1; fi \ @@ -210,7 +211,9 @@ RUN \ && make install-pip-package -j$(nproc) \ && make install -j$(nproc) \ && if [ "${PACKAGE}" = "ON" ]; then make package; fi \ - && if [ "${PACKAGE}" = "VIEWER" ]; then make package-Open3DViewer-deb; fi + && if [ "${PACKAGE}" = "VIEWER" ]; then make package-Open3DViewer-deb; fi \ + && if [ "${CI:-}a" != "a" ]; then rm -rf _deps assimp embree ippicv mkl mkl_install webrtc; fi +# If CI is not null or unset, remove all large build folders to save disk space # Compress ccache folder, move to / directory RUN ccache -s \ diff --git a/docker/Dockerfile.wheel b/docker/Dockerfile.wheel index 6a7d7080aed..a719262ece2 100644 --- a/docker/Dockerfile.wheel +++ b/docker/Dockerfile.wheel @@ -10,6 +10,7 @@ ARG CCACHE_VERSION ARG PYTHON_VERSION ARG BUILD_TENSORFLOW_OPS ARG BUILD_PYTORCH_OPS +ARG CI # Forward all ARG to ENV # ci_utils.sh requires these environment variables @@ -130,7 +131,9 @@ WORKDIR /root/Open3D RUN export NPROC=$(nproc) \ && export BUILD_SHARED_LIBS=OFF \ && source /root/Open3D/util/ci_utils.sh \ - && build_pip_package build_azure_kinect build_jupyter + && build_pip_package build_azure_kinect build_jupyter \ + && if [ ${CI:-}a != a ]; then cd /root/Open3D/build/ && ls | grep -Ev '^lib$' | xargs rm -rf ; fi + # remove build folder (except lib) to save CI space on Github # Compress ccache folder, move to / directory RUN ccache -s \ diff --git a/docker/docker_build.sh b/docker/docker_build.sh index 33ab6ad0115..f55276baed5 100755 --- a/docker/docker_build.sh +++ b/docker/docker_build.sh @@ -207,6 +207,7 @@ cuda_wheel_build() { --build-arg PYTHON_VERSION="${PYTHON_VERSION}" \ --build-arg BUILD_TENSORFLOW_OPS="${BUILD_TENSORFLOW_OPS}" \ --build-arg BUILD_PYTORCH_OPS="${BUILD_PYTORCH_OPS}" \ + --build-arg CI="${CI:-}" \ -t open3d-ci:wheel \ -f docker/Dockerfile.wheel . popd @@ -249,6 +250,7 @@ ci_build() { --build-arg BUILD_PYTORCH_OPS="${BUILD_PYTORCH_OPS}" \ --build-arg PACKAGE="${PACKAGE}" \ --build-arg BUILD_SYCL_MODULE="${BUILD_SYCL_MODULE}" \ + --build-arg CI="${CI:-}" \ -t "${DOCKER_TAG}" \ -f docker/Dockerfile.ci . popd diff --git a/examples/python/reconstruction_system/make_fragments.py b/examples/python/reconstruction_system/make_fragments.py index 17d875aa86c..5af9d960f4b 100644 --- a/examples/python/reconstruction_system/make_fragments.py +++ b/examples/python/reconstruction_system/make_fragments.py @@ -145,6 +145,7 @@ def make_pointcloud_for_fragment(path_dataset, color_files, depth_files, write_ascii=False, compressed=True) + def process_single_fragment(fragment_id, color_files, depth_files, n_files, n_fragments, config): if config["path_intrinsic"]: