name: release on: push: branches: - 'master' paths-ignore: - '*.md' jobs: gltfpack: strategy: matrix: os: [{ name: windows, version: windows-latest }, { name: ubuntu, version: ubuntu-22.04 }, { name: macos, version: macos-14 }] name: gltfpack-${{matrix.os.name}} runs-on: ${{matrix.os.version}} steps: - uses: actions/checkout@v6 - uses: actions/checkout@v6 with: repository: zeux/basis_universal ref: gltfpack path: basis_universal - uses: actions/checkout@v6 with: repository: webmproject/libwebp ref: 1.6.0 path: libwebp - name: cmake configure run: cmake . -DMESHOPT_BUILD_GLTFPACK=ON -DMESHOPT_GLTFPACK_BASISU_PATH=basis_universal -D MESHOPT_GLTFPACK_LIBWEBP_PATH=libwebp -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded" -DCMAKE_BUILD_TYPE=Release - name: cmake configure x64 run: cmake . -DSSE=ON -DBASISU_SSE=ON if: matrix.os.name == 'ubuntu' - name: cmake build run: cmake --build . --target gltfpack --config Release -j 3 - uses: actions/upload-artifact@v7 with: name: gltfpack-windows path: Release/gltfpack.exe if: matrix.os.name == 'windows' - uses: actions/upload-artifact@v7 with: name: gltfpack-${{matrix.os.name}} path: gltfpack if: matrix.os.name != 'windows' nodejs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-node@v6 with: node-version: '18' - name: install wasi run: | curl -sL https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$VERSION/wasi-sdk-$VERSION.0-x86_64-linux.deb > wasi-sdk.deb sudo dpkg -i wasi-sdk.deb env: VERSION: 32 - name: build run: | make -j2 -B gltf/library.wasm js git status - name: npm pack run: | cp LICENSE.md gltf/ cp LICENSE.md js/ cd gltf && npm pack && cd .. cd js && npm pack && cd .. - uses: actions/upload-artifact@v7 with: name: gltfpack-npm path: gltf/gltfpack-*.tgz - uses: actions/upload-artifact@v7 with: name: meshoptimizer-npm path: js/meshoptimizer-*.tgz