Skip to content

3D gaussians .splat reader #5016

3D gaussians .splat reader

3D gaussians .splat reader #5016

Workflow file for this run

name: CI
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
push:
branches:
- master
concurrency:
group: '${{ github.workflow }}-${{ github.ref_name }}'
cancel-in-progress: true
jobs:
#----------------------------------------------------------------------------
# Cache LFS: Checkout LFS data and update the cache to limit LFS bandwidth
#----------------------------------------------------------------------------
cache_lfs:
runs-on: ubuntu-latest
name: Update LFS data cache
outputs:
lfs_sha: ${{ steps.lfs_sha_recover.outputs.lfs_sha }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: 'source'
fetch-depth: 0
lfs: false
- name: Set LFS env var
working-directory: ${{github.workspace}}/source
id: lfs_sha_recover
shell: bash
run: echo "lfs_sha=$(git log -n 1 --pretty=format:%H -- testing/data/ testing/baselines/ examples/**/*/data/ examples/**/*/baselines/ .github/baselines/)" >> $GITHUB_OUTPUT
- name: Copy LFS Data
uses: ./source/.github/actions/lfs-copy
with:
lfs_sha: ${{ steps.lfs_sha_recover.outputs.lfs_sha }}
workflow_label: 'producer'
#----------------------------------------------------------------------------
# Windows CI: Build and test, cross-vtk build matrix
#----------------------------------------------------------------------------
# windows:
# if: github.event.pull_request.draft == false
# needs: cache_lfs
#
# strategy:
# fail-fast: false
# matrix:
# vtk_version: [commit, v9.3.0, v9.2.6]
#
# runs-on: windows-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# path: 'source'
# fetch-depth: 0
# lfs: false
#
# - name: Generic CI
# uses: ./source/.github/actions/generic-ci
# with:
# vtk_version: ${{matrix.vtk_version}}
# raytracing_label: raytracing
# lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
#----------------------------------------------------------------------------
# Linux CI: Build and test, cross-vtk build matrix
#----------------------------------------------------------------------------
# linux:
# if: github.event.pull_request.draft == false
# needs: cache_lfs
#
# strategy:
# fail-fast: false
# matrix:
# vtk_version: [commit, v9.3.0, v9.2.6, v9.1.0, v9.0.0]
# build_type: [standard]
# include:
# - raytracing_label: raytracing
# - exclude_deprecated_label: no-exclude-deprecated
# - optional_deps_label: optional-deps
# - egl_label: no-egl
# - vtk_version: v9.0.0
# raytracing_label: no-raytracing
# - build_type: headless
# vtk_version: commit
# raytracing_label: raytracing
# optional_deps_label: optional-deps
# exclude_deprecated_label: no-exclude-deprecated
# egl_label: egl
# - build_type: exclude_deprecated
# vtk_version: commit
# raytracing_label: raytracing
# optional_deps_label: optional-deps
# exclude_deprecated_label: exclude-deprecated
# egl_label: no-egl
# - build_type: no_optional_deps
# vtk_version: commit
# raytracing_label: no-raytracing
# optional_deps_label: no-optional-deps
# exclude_deprecated_label: no-exclude-deprecated
# egl_label: no-egl
#
# runs-on: ubuntu-latest
# container: ghcr.io/f3d-app/f3d-ci
#
# env:
# DISPLAY: :0
#
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# path: 'source'
# fetch-depth: 0
# lfs: false
#
# - name: Generic CI
# uses: ./source/.github/actions/generic-ci
# with:
# build_type: ${{matrix.build_type}}
# vtk_version: ${{matrix.vtk_version}}
# raytracing_label: ${{matrix.raytracing_label}}
# optional_deps_label: ${{matrix.optional_deps_label}}
# exclude_deprecated_label: ${{matrix.exclude_deprecated_label}}
# egl_label: ${{matrix.egl_label}}
# lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
#----------------------------------------------------------------------------
# MacOS CI: Build and test, cross-vtk build matrix
#----------------------------------------------------------------------------
# macos:
# if: github.event.pull_request.draft == false
# needs: cache_lfs
#
# strategy:
# fail-fast: false
# matrix:
# vtk_version: [commit, v9.3.0, v9.2.6]
# cpu: [x86_64, arm64]
# bundle_label: [no-bundle]
# include:
# - vtk_version: commit
# bundle_label: bundle
# cpu: x86_64
# - vtk_version: commit
# bundle_label: bundle
# cpu: arm64
#
# runs-on: macos-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# path: 'source'
# fetch-depth: 0
# lfs: false
#
# - name: Generic CI
# uses: ./source/.github/actions/generic-ci
# with:
# vtk_version: ${{matrix.vtk_version}}
# bundle_label: ${{matrix.bundle_label}}
# cpu: ${{matrix.cpu}}
# lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
#----------------------------------------------------------------------------
# Python packaging: Build and test the Python wheel
#----------------------------------------------------------------------------
# python-packaging:
# if: github.event.pull_request.draft == false
# needs: cache_lfs
#
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu, windows, macos]
#
# runs-on: ${{matrix.os}}-latest
# container: ${{ matrix.os == 'ubuntu' && 'ghcr.io/f3d-app/f3d-ci' || null }}
#
# env:
# DISPLAY: :0
#
# steps:
#
# - name: Checkout
# uses: actions/checkout@v4
# with:
# path: 'source'
# fetch-depth: 0
# lfs: false
#
# - name: Python CI
# uses: ./source/.github/actions/python-ci
# with:
# lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
#----------------------------------------------------------------------------
# Coverage: Build and test on linux with last VTK with coverage option
#----------------------------------------------------------------------------
# coverage:
# needs: cache_lfs
# if: github.event.pull_request.draft == false
#
# runs-on: ubuntu-latest
# container: ghcr.io/f3d-app/f3d-ci
#
# # Add dummy F3D_PLUGINS_PATH for coverage
# env:
# DISPLAY: :0
# F3D_PLUGINS_PATH: /dummy1:/dummy2
#
# steps:
#
# - name: Checkout
# uses: actions/checkout@v4
# with:
# path: 'source'
# fetch-depth: 0
# lfs: false
#
# - name: Coverage CI
# uses: ./source/.github/actions/coverage-ci
# with:
# lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
#----------------------------------------------------------------------------
# Sanitizer: Build and test on linux with last VTK with sanitizer options
#----------------------------------------------------------------------------
# "leak" is run by default with "address" so we do not need to run it in CI
# "memory" returns false positives in VTK:
# https://stackoverflow.com/questions/60097307/memory-sanitizer-reports-use-of-uninitialized-value-in-global-object-constructio
sanitizer:
needs: cache_lfs
if: github.event.pull_request.draft == false
strategy:
fail-fast: false
matrix:
sanitizer_type: [address, thread, undefined]
runs-on: ubuntu-latest
container: ghcr.io/f3d-app/f3d-ci
env:
DISPLAY: :0
CC: clang
CXX: clang++
VTK_SMP_BACKEND_IN_USE: Sequential
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: 'source'
fetch-depth: 0
lfs: false
- name: Sanitizer CI
uses: ./source/.github/actions/sanitizer-ci
with:
sanitizer_type: ${{matrix.sanitizer_type}}
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
#----------------------------------------------------------------------------
# static-analysis: Run static analysis on linux
#----------------------------------------------------------------------------
static-analysis:
needs: cache_lfs
if: github.event.pull_request.draft == false
strategy:
fail-fast: false
runs-on: ubuntu-latest
container: ghcr.io/f3d-app/f3d-ci
env:
CC: clang
CXX: clang++
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: 'source'
fetch-depth: 0
lfs: false
- name: Static analysis CI
uses: ./source/.github/actions/static-analysis-ci
with:
lfs_sha: ${{ needs.cache_lfs.outputs.lfs_sha}}
#----------------------------------------------------------------------------
# external-build: Check build of F3D as sub-project
#----------------------------------------------------------------------------
external-build:
if: github.event.pull_request.draft == false
strategy:
fail-fast: false
runs-on: ubuntu-latest
container: ghcr.io/f3d-app/f3d-ci
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: 'source/f3d'
fetch-depth: 0
lfs: false
- name: External build CI
uses: ./source/f3d/.github/actions/external-build-ci
#----------------------------------------------------------------------------
# android: Check build of F3D for android
#----------------------------------------------------------------------------
android:
if: github.event.pull_request.draft == false
strategy:
fail-fast: false
matrix:
arch: [armeabi-v7a, arm64-v8a, x86, x86_64]
runs-on: ubuntu-latest
container: ghcr.io/f3d-app/f3d-ci
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: 'source'
fetch-depth: 0
lfs: false
- name: Android CI
uses: ./source/.github/actions/android-ci
with:
arch: ${{matrix.arch}}
#----------------------------------------------------------------------------
# webassembly: Check build of F3D for webassembly
#----------------------------------------------------------------------------
webassembly:
if: github.event.pull_request.draft == false
strategy:
fail-fast: false
runs-on: ubuntu-latest
container: dockcross/web-wasm:20230905-7b2d74f
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: 'source'
fetch-depth: 0
lfs: 'false'
- name: Web Assembly CI
uses: ./source/.github/actions/webassembly-ci