Build USD Asset Resolvers against Houdini #240
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |