Skip to content

Build USD Asset Resolvers against Houdini #246

Build USD Asset Resolvers against Houdini

Build USD Asset Resolvers against Houdini #246

Workflow file for this run

name: Build USD Asset Resolvers against Houdini
on:
release:
types: [released]
schedule:
- cron: '0 12 * * *'
workflow_dispatch:
concurrency:
group: "build"
cancel-in-progress: false
jobs:
build_linux:
runs-on: ubuntu-latest
environment: houdini
strategy:
matrix:
houdini_version: ["19.5", "20.0"]
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive
- name: Switch to latest release tag
run: |
git fetch --all --tags --force
latest_release_tag=$(git tag -l --sort=-version:refname v* | head -1)
git checkout tags/$latest_release_tag
- name: Install system packages
run: |
sudo apt-get update
sudo apt-get install -y zip
sudo apt-get install -y build-essential cmake
sudo apt-get install -y python3 python3-pip
sudo pip3 install requests
# - name: Cache Houdini
# id: cache-houdini-linux
# uses: actions/cache@v3
# with:
# path: "/opt/hfs*"
# key: ${{ runner.os }}-houdini
- name: Install Houdini
# if: steps.cache-houdini-linux.outputs.cache-hit != 'true'
env:
SIDEFX_CLIENT_ID: '${{ secrets.SIDEFX_CLIENT_ID }}'
SIDEFX_CLIENT_SECRET_KEY: '${{ secrets.SIDEFX_CLIENT_SECRET_KEY }}'
run: |
sudo --preserve-env python3 .github/scripts/houdini.py --install --install_version ${{ matrix.houdini_version }}
- name: Build USD File Resolver
run: |
.github/scripts/houdini_build.sh fileResolver
- name: Build USD Python Resolver
run: |
.github/scripts/houdini_build.sh pythonResolver
- name: Build USD Cached Resolver
run: |
.github/scripts/houdini_build.sh cachedResolver
- name: Build USD Http Resolver
run: |
.github/scripts/houdini_build.sh httpResolver
- name: Create single .zip archive
run: |
repo_root=$(cd .; pwd)
python3 .github/scripts/houdini.py --artifact --artifact_src=$repo_root/dist --artifact_dst=$repo_root/artifacts --artifact_prefix=UsdAssetResolver
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: UsdAssetResolver-Linux-Houdini-${{ matrix.houdini_version }}
path: artifacts/*.zip
build_windows:
runs-on: windows-2019
environment: houdini
strategy:
matrix:
houdini_version: ["19.5", "20.0"]
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive
- name: Switch to latest release tag
run: |
git fetch --all --tags --force
$latest_release_tag=git tag -l --sort=-version:refname v* | select -first 1
git checkout tags/$latest_release_tag
- name: Install system packages
run: |
pip3 install requests
# - name: Cache Houdini
# id: cache-houdini-windows
# uses: actions/cache@v3
# with:
# path: "C:\\Program Files\\Side Effects Software"
# key: ${{ runner.os }}-houdini
- name: Install Houdini
# if: steps.cache-houdini-windows.outputs.cache-hit != 'true'
env:
SIDEFX_CLIENT_ID: '${{ secrets.SIDEFX_CLIENT_ID }}'
SIDEFX_CLIENT_SECRET_KEY: '${{ secrets.SIDEFX_CLIENT_SECRET_KEY }}'
run: |
python3 .github\scripts\houdini.py --install --install_version ${{ matrix.houdini_version }}
- name: Build USD File Resolver
run: |
.\.github\scripts\houdini_build.bat fileResolver
- name: Build USD Python Resolver
run: |
.\.github\scripts\houdini_build.bat pythonResolver
- name: Build USD Cached Resolver
run: |
.\.github\scripts\houdini_build.bat cachedResolver
- name: Build USD Http Resolver
run: |
.\.github\scripts\houdini_build.bat httpResolver
- name: Create single .zip archive
run: |
& python $pwd\.github\scripts\houdini.py --artifact --artifact_src=$pwd\dist --artifact_dst=$pwd\artifacts --artifact_prefix=UsdAssetResolver
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: UsdAssetResolver-Windows-Houdini-${{ matrix.houdini_version }}
path: artifacts/*.zip
deploy:
runs-on: ubuntu-latest
permissions:
contents: write
needs: [build_linux, build_windows]
strategy:
matrix:
os: ["Linux", "Windows"]
houdini_version: ["19.5", "20.0"]
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: UsdAssetResolver-${{ matrix.os }}-Houdini-${{ matrix.houdini_version }}
path: artifacts
- name: Upload artifacts as release assets
run: |
git fetch --all --tags --force
latest_release_tag=$(git tag -l --sort=-version:refname v* | head -1)
gh release upload $latest_release_tag artifacts/*.zip --clobber
env:
GITHUB_TOKEN: ${{ github.TOKEN }}