Files
Hat Kid 348bf83b89 custom levels: add draco lib to support compressed glb files (#3723)
By adding the `draco` library as a dependency, `tinygltf` can support
GLB files compressed with the Draco compression algorithm which allows
for drastically reduced file sizes for custom levels (TFL's Crescent Top
GLB for example went from 135 MB to 37 MB).
2024-10-28 21:11:19 +01:00

319 lines
12 KiB
YAML
Vendored
Generated

on:
pull_request:
# Run on all pull requests.
push:
# Run on merges/pushes to main.
branches:
- main
schedule:
# Run nightly, at midnight.
- cron: '8 0 * * *'
name: draco-ci
jobs:
# Main build and test job.
draco-tests:
strategy:
matrix:
include:
- test_name: macos-make-release-shared
os: macos-latest
cmake_configure_command: |-
cmake .. -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: macos-make-release-shared-with-transcoder
os: macos-latest
cmake_configure_command: |-
cmake .. -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: macos-make-release-static
os: macos-latest
cmake_configure_command: |-
cmake .. -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: macos-make-release-static-with-transcoder
os: macos-latest
cmake_configure_command: |-
cmake .. -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: macos-xcode-release-shared
os: macos-latest
cmake_configure_command: |-
cmake .. -G Xcode \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_CONFIGURATION_TYPES=Release \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . --config Release
draco_test_command: Release/draco_tests
- test_name: macos-xcode-release-shared-with-transcoder
os: macos-latest
cmake_configure_command: |-
cmake .. -G Xcode \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_CONFIGURATION_TYPES=Release \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . --config Release
draco_test_command: Release/draco_tests
- test_name: macos-xcode-release-static
os: macos-latest
cmake_configure_command: |-
cmake .. -G Xcode \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CONFIGURATION_TYPES=Release \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . --config Release
draco_test_command: Release/draco_tests
- test_name: macos-xcode-release-static-with-transcoder
os: macos-latest
cmake_configure_command: |-
cmake .. -G Xcode \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CONFIGURATION_TYPES=Release \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . --config Release
draco_test_command: Release/draco_tests
- test_name: ubuntu-make-release-shared
os: ubuntu-latest
cmake_configure_command: |-
cmake .. -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=gcc-10 \
-DCMAKE_CXX_COMPILER=g++-10 \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: ubuntu-make-release-shared-with-transcoder
os: ubuntu-latest
cmake_configure_command: |-
cmake .. -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=gcc-10 \
-DCMAKE_CXX_COMPILER=g++-10 \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: ubuntu-make-release-static
os: ubuntu-latest
cmake_configure_command: |-
cmake .. -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=gcc-10 \
-DCMAKE_CXX_COMPILER=g++-10 \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: ubuntu-make-release-static-with-transcoder
os: ubuntu-latest
cmake_configure_command: |-
cmake .. -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=gcc-10 \
-DCMAKE_CXX_COMPILER=g++-10 \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: windows-msvc-release-shared
os: windows-2019
cmake_configure_command: |-
cmake .. -G "Visual Studio 16 2019" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_CONFIGURATION_TYPES=Release \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . --config Release -- -m:2
draco_test_command: Release/draco_tests
- test_name: windows-msvc-release-shared-with-transcoder
os: windows-2019
cmake_configure_command: |-
cmake .. -G "Visual Studio 16 2019" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_CONFIGURATION_TYPES=Release \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . --config Release -- -m:2
draco_test_command: Release/draco_tests
- test_name: windows-msvc-release-static
os: windows-2019
cmake_configure_command: |-
cmake .. -G "Visual Studio 16 2019" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CONFIGURATION_TYPES=Release \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . --config Release -- -m:2
draco_test_command: Release/draco_tests
- test_name: windows-msvc-release-static-with-transcoder
os: windows-2019
cmake_configure_command: |-
cmake .. -G "Visual Studio 16 2019" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CONFIGURATION_TYPES=Release \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . --config Release -- -m:2
draco_test_command: Release/draco_tests
- test_name: windows-make-release-shared
os: windows-2019
cmake_configure_command: |-
cmake .. -G "MinGW Makefiles" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: windows-make-release-shared-with-transcoder
os: windows-2019
cmake_configure_command: |-
cmake .. -G "MinGW Makefiles" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: windows-make-release-static
os: windows-2019
cmake_configure_command: |-
cmake .. -G "MinGW Makefiles" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ \
-DDRACO_TESTS=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
- test_name: windows-make-release-static-with-transcoder
os: windows-2019
cmake_configure_command: |-
cmake .. -G "MinGW Makefiles" \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ \
-DDRACO_TESTS=ON \
-DDRACO_TRANSCODER_SUPPORTED=ON
cmake_build_command: cmake --build . -- -j2
draco_test_command: ./draco_tests
name: test-${{ matrix.test_name }}
runs-on: ${{ matrix.os }}
steps:
- name: Clone Draco with Submodules.
uses: actions/checkout@v2
with:
submodules: true
- name: Create build directory
shell: bash
run: mkdir _gh_build
- name: Configure CMake build
shell: bash
run: ${{ matrix.cmake_configure_command }}
working-directory: ./_gh_build
- name: Build with CMake
shell: bash
run: ${{ matrix.cmake_build_command }}
working-directory: ./_gh_build
- name: Run tests
shell: bash
run: ${{ matrix.draco_test_command }}
working-directory: ./_gh_build
# Runs src/draco/tools/install_test.
draco-install-tests:
strategy:
matrix:
include:
- test_name: ubuntu-make
os: ubuntu-latest
test_command: python3 test.py -v -G "Unix Makefiles"
- test_name: ubuntu-make-with-transcoder
os: ubuntu-latest
test_command: python3 test.py -v -t -G "Unix Makefiles"
- test_name: macos-make
os: macos-latest
test_command: python3 test.py -v -G "Unix Makefiles"
- test_name: macos-make-with-transcoder
os: macos-latest
test_command: python3 test.py -v -t -G "Unix Makefiles"
- test_name: macos-xcode
os: macos-latest
test_command: python3 test.py -v -G Xcode
- test_name: macos-xcode-with-transcoder
os: macos-latest
test_command: python3 test.py -v -t -G Xcode
- test_name: windows-make
os: windows-2019
test_command: python3 test.py -v -G "MinGW Makefiles"
- test_name: windows-make-with-transcoder
os: windows-2019
test_command: python3 test.py -v -t -G "MinGW Makefiles"
- test_name: windows-msvc
os: windows-2019
test_command: python3 test.py -v -G "Visual Studio 16 2019"
- test_name: windows-msvc-with-transcoder
os: windows-2019
test_command: python3 test.py -v -t -G "Visual Studio 16 2019"
name: install-test-${{ matrix.test_name }}
runs-on: ${{ matrix.os }}
steps:
- name: Clone Draco with Submodules
uses: actions/checkout@v2
with:
submodules: true
- name: Run src/draco/tools/install_test/test.py
shell: bash
run: ${{ matrix.test_command }}
working-directory: ./src/draco/tools/install_test