Skip to content

Commit

Permalink
Merge branch 'isl-org:main' into mesh-fill-holes-normals
Browse files Browse the repository at this point in the history
  • Loading branch information
stormboy authored Nov 20, 2024
2 parents ebaf422 + 870dcb9 commit e3e22cb
Show file tree
Hide file tree
Showing 1,769 changed files with 10,345 additions and 6,621 deletions.
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ BasedOnStyle: Google
IndentWidth: 4
ColumnLimit: 80
UseTab: Never
Standard: c++14
Standard: c++17
ContinuationIndentWidth: 8
AccessModifierOffset: -4
BinPackParameters: false
Expand Down
56 changes: 14 additions & 42 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
name: Documentation
permissions:
contents: write
actions: write
permissions: {}

on:
workflow_dispatch:
Expand All @@ -21,8 +19,9 @@ concurrency:
cancel-in-progress: true

jobs:
headless-docs:
# Build headless and docs
headless-docs: # Build headless and docs
permissions:
contents: write # Artifact upload and release upload
runs-on: ubuntu-latest # Warn about build issues in new versions
env:
OPEN3D_ML_ROOT: ${{ github.workspace }}/Open3D-ML
Expand Down Expand Up @@ -78,52 +77,25 @@ jobs:
ccache -s
source util/ci_utils.sh
build_docs "$DEVELOPER_BUILD"
# PWD: Open3D/docs
ccache -s
tar_file="open3d-${GITHUB_SHA}-docs.tar.gz"
rm -rf "${GITHUB_WORKSPACE}/${tar_file}"
# Docs in docs/_out/html
tar -C _out -cvzf "${GITHUB_WORKSPACE}/${tar_file}" html
- name: Upload docs
uses: actions/upload-artifact@v4
with:
name: open3d_docs
path: docs/_out/html
name: open3d-${{ github.sha }}-docs.tar.gz
path: open3d-${{ github.sha }}-docs.tar.gz
if-no-files-found: error
compression-level: 0 # no compression

- name: Deploy docs if all artifacts available
- name: Update devel release
if: ${{ github.ref == 'refs/heads/main' }}
env:
GH_TOKEN: ${{ github.token }}
run: |
tar_file="open3d-${GITHUB_SHA}-docs.tar.gz"
rm -rf ${tar_file}
# Docs in docs/_out/html
tar -C docs/_out -cvzf ${tar_file} html
echo "Waiting for other release assets..."
this_sha=$(echo ${GITHUB_SHA} | cut -c 1-6)
n_this_sha_assets=$(gh release view main-devel --json assets --jq ".assets | map(select(.name | contains(\"${this_sha}\"))) | length")
# Total assets from each main branch commmit:
# Python wheels (4x4) + Viewer (3) + C++ libs (4+2+2) = 27,
while ((n_this_sha_assets < 27)); do
sleep 60
echo -n "."
n_this_sha_assets=$(gh release view main-devel --json assets --jq ".assets | map(select(.name | contains(\"${this_sha}\"))) | length")
done
gh release upload main-devel ${tar_file} --clobber
gh release view main-devel
echo "\nAll assets ready. Removing release assets except from last 3 commits: ${last_shas[@]}"
release_assets=($(gh release view main-devel --json assets --jq '.assets[] | .name'))
last_shas=($(git log --pretty=format:%h --abbrev-commit -n 3))
for relass in "${release_assets[@]}"; do
found=false
for last_sha in "${last_shas[@]}"; do
if [[ $relass == *${last_sha}* ]]; then
found=true
fi
done
if [ $found == false ]; then
set -x
gh release delete-asset main-devel $relass
set +x
fi
done
gh release upload main-devel open3d-${{ github.sha }}-docs.tar.gz --clobber
gh release view main-devel
47 changes: 35 additions & 12 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
name: MacOS
permissions:
contents: write
actions: write
permissions: {}

on:
workflow_dispatch:
Expand All @@ -28,6 +26,8 @@ env:

jobs:
MacOS:
permissions:
contents: write # upload
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:
- name: Set up Python version
uses: actions/setup-python@v5
with:
python-version: '3.11'
python-version: '3.12'

- name: Install dependencies
run: |
Expand Down Expand Up @@ -139,6 +139,8 @@ jobs:
if-no-files-found: error

fuse-viewer:
permissions:
contents: write # Release upload
name: Fuse x64 and ARM64 viewer app
runs-on: [macos-12]
needs: [MacOS]
Expand Down Expand Up @@ -182,6 +184,8 @@ jobs:
build-wheel:
name: Build wheel
permissions:
contents: write # upload
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand All @@ -190,7 +194,7 @@ jobs:
# macos-12 is Intel runner, macos-14 is Apple Silicon
# https://github.com/actions/runner-images
os: [macos-12, macos-14]
python_version: ['3.8', '3.9', '3.10', '3.11']
python_version: ['3.8', '3.9', '3.10', '3.11', '3.12']
is_main:
- ${{ github.ref == 'refs/heads/main' }}
exclude:
Expand All @@ -205,9 +209,13 @@ jobs:
python_version: '3.9'
- is_main: false
python_version: '3.10'
- is_main: false
python_version: '3.11'

env:
BUILD_CUDA_MODULE: OFF
# TensorFlow v2.16 does not support Python 3.8
BUILD_TENSORFLOW_OPS: ${{ matrix.python_version == '3.8' && 'OFF' || 'ON' }}
OPEN3D_ML_ROOT: ${{ github.workspace }}/Open3D-ML
steps:
- name: Checkout source code
Expand Down Expand Up @@ -287,20 +295,33 @@ jobs:
path: build/lib/python_package/pip_package/${{ env.PIP_PKG_NAME }}
if-no-files-found: error

- name: Update devel release (x86_64 only wheels)
if: ${{ github.ref == 'refs/heads/main' && (matrix.python_version == '3.8' || matrix.python_version == '3.9') }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload main-devel build/lib/python_package/pip_package/${{ env.PIP_PKG_NAME }} --clobber
gh release view main-devel
fuse-wheel:
name: Fuse universal2 wheel
permissions:
contents: write # Release upload
runs-on: [macos-12]
needs: [build-wheel]
strategy:
fail-fast: false
# https://github.community/t/how-to-conditionally-include-exclude-items-in-matrix-eg-based-on-branch/16853/6
matrix:
python_version: ['3.10', '3.11']
python_version: ['3.10', '3.11', '3.12']
is_main:
- ${{ github.ref == 'refs/heads/main' }}
exclude:
- is_main: false
python_version: '3.10'
- is_main: false
python_version: '3.11'
steps:
- name: Checkout source code # for gh release upload
uses: actions/checkout@v4
Expand Down Expand Up @@ -330,11 +351,8 @@ jobs:
PYTAG="-cp$(echo ${{ env.python_version }} | tr -d '.')"
mkdir universal_wheels
pip install delocate
delocate-fuse -v x64_wheels/open3d-*${PYTAG}*.whl arm64_wheels/open3d-*${PYTAG}*.whl
# Normalize file name as delocate-fuse doesn't update it
OLD_WHL_NAME=$(basename x64_wheels/open3d-*${PYTAG}*.whl)
NEW_WHL_NAME=${OLD_WHL_NAME/x86_64/universal2}
mv x64_wheels/${OLD_WHL_NAME} universal_wheels/${NEW_WHL_NAME}
delocate-merge -v -w universal_wheels x64_wheels/open3d-*${PYTAG}*.whl arm64_wheels/open3d-*${PYTAG}*.whl
NEW_WHL_NAME=$(basename universal_wheels/open3d-*${PYTAG}*.whl)
echo "PIP_PKG_NAME=$NEW_WHL_NAME" >> $GITHUB_ENV
- name: Upload merged wheels
Expand All @@ -354,13 +372,15 @@ jobs:
test-wheel:
name: Test wheel
permissions:
contents: read
runs-on: ${{ matrix.os }}
needs: [build-wheel]
strategy:
fail-fast: false
matrix:
os: [macos-12, macos-14]
python_version: ['3.8', '3.9', '3.10', '3.11']
python_version: ['3.8', '3.9', '3.10', '3.11', '3.12']
is_main:
- ${{ github.ref == 'refs/heads/main' }}
exclude:
Expand All @@ -374,6 +394,8 @@ jobs:
python_version: '3.9'
- is_main: false
python_version: '3.10'
- is_main: false
python_version: '3.11'

env:
OPEN3D_ML_ROOT: ${{ github.workspace }}/Open3D-ML
Expand All @@ -385,6 +407,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: isl-org/Open3D-ML
ref: main
path: ${{ env.OPEN3D_ML_ROOT }}

- name: Download wheels
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/style.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
name: Style Check
permissions:
contents: read
actions: write
permissions: {}

on:
workflow_dispatch:
Expand All @@ -17,6 +15,8 @@ concurrency:

jobs:
style-check:
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- name: Checkout source code
Expand Down
21 changes: 11 additions & 10 deletions .github/workflows/ubuntu-cuda.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
name: Ubuntu CUDA
permissions:
contents: write
actions: write
permissions: {}

on:
workflow_dispatch:
Expand All @@ -14,8 +12,7 @@ on:
branches:
- main
pull_request:
# Reduce CI frequency for paid CI.
types: [review_requested]
types: [opened, reopened, synchronize]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
Expand All @@ -30,6 +27,8 @@ jobs:
skip-check:
runs-on: ubuntu-latest
name: Skip job for forks
permissions:
contents: read
outputs:
skip: ${{ steps.check.outputs.skip }}
steps:
Expand All @@ -46,22 +45,24 @@ jobs:
build-and-run-docker:
name: Build and run
permissions:
contents: write # upload
runs-on: ubuntu-latest
needs: [skip-check]
if: needs.skip-check.outputs.skip == 'no'
strategy:
fail-fast: false
matrix:
include:
- CI_CONFIG: 2-bionic
- CI_CONFIG: 3-ml-shared-bionic
- CI_CONFIG: 4-shared-bionic
- CI_CONFIG: 5-ml-focal
- CI_CONFIG: 2-focal
- CI_CONFIG: 3-ml-shared-focal
- CI_CONFIG: 4-shared-focal
- CI_CONFIG: 5-ml-jammy
env:
# Export everything from matrix to be easily used.
# Docker tag and ccache names must be consistent with docker_build.sh
CI_CONFIG : ${{ matrix.CI_CONFIG }}
BUILD_PACKAGE : ${{ contains(fromJson('["3-ml-shared-bionic", "4-shared-bionic"]'), matrix.CI_CONFIG) }}
BUILD_PACKAGE : ${{ contains(fromJson('["3-ml-shared-focal", "4-shared-focal"]'), matrix.CI_CONFIG) }}
GCE_INSTANCE_PREFIX: open3d-ci-${{ matrix.CI_CONFIG }}
DOCKER_TAG : open3d-ci:${{ matrix.CI_CONFIG }}
CCACHE_TAR_NAME : open3d-ci-${{ matrix.CI_CONFIG }}
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/ubuntu-openblas.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
name: Ubuntu OpenBLAS
permissions:
contents: read
actions: write
permissions: {}

on:
workflow_dispatch:
push:
branches:
- main
pull_request:
# Reduce CI frequency for paid CI.
types: [review_requested]
types: [opened, reopened, synchronize]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
Expand All @@ -22,6 +19,8 @@ env:

jobs:
openblas-amd64:
permissions:
contents: read
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand Down Expand Up @@ -57,6 +56,8 @@ jobs:
fi
openblas-arm64:
permissions:
contents: read
runs-on: ubuntu-latest
needs: [skip-arm64-check-on-fork]
if: needs.skip-arm64-check-on-fork.outputs.skip == 'no'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ubuntu-sycl.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
name: Ubuntu SYCL
permissions:
contents: read
actions: write
permissions: {}

on:
workflow_dispatch:
Expand All @@ -21,6 +19,8 @@ env:

jobs:
ubuntu-sycl:
permissions:
contents: read
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand Down
Loading

0 comments on commit e3e22cb

Please sign in to comment.