Skip to content

Removed old viewport draw in favour or VP2 GeometryOverride with Parallel Eval and Viewport Caching compatibility #9

Removed old viewport draw in favour or VP2 GeometryOverride with Parallel Eval and Viewport Caching compatibility

Removed old viewport draw in favour or VP2 GeometryOverride with Parallel Eval and Viewport Caching compatibility #9

Workflow file for this run

name: build
on:
push:
branches: [ master ]
tags:
- v*
pull_request:
branches: [ master ]
env:
BUILD_TYPE: Release
jobs:
#
# Windows
#
# __
# |\__/ \
# | |
# | __ |
# \__/ \|
#
#
maya-win:
runs-on: windows-latest
strategy:
# Without this, all containers stop if any fail
# That's bad, we want to know whether it's only one
# or if it happens to multiples or all.
fail-fast: false
matrix:
include:
- maya: "2022"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2022/Autodesk_Maya_2022_5_Update_DEVKIT_Windows.zip"
- maya: "2023"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2023/Autodesk_Maya_2023_3_Update_DEVKIT_Windows.zip"
- maya: "2024"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2024/Autodesk_Maya_2024_2_Update_DEVKIT_Windows.zip"
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: true
- name: Install devkit
run: |
Write-Host "Downloading Devkit: ${{matrix.devkit}}..."
Invoke-WebRequest -Uri ${{matrix.devkit}} -OutFile "$pwd/devkit.zip"
Write-Host "Extracting devkit.zip.."
Expand-Archive -LiteralPath devkit.zip -DestinationPath $pwd
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMAYA_VERSION="${{matrix.maya}}" -DMAYA_DEVKIT_BASE="$pwd/devkitBase"
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Repath Artifacts
run: |
mkdir artifacts/plug-ins
Copy-Item "./build/${{env.BUILD_TYPE}}/TwistSpline.mll" -Destination "artifacts/plug-ins"
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: windows-${{matrix.maya}}
path: |
artifacts/plug-ins/TwistSpline.mll
# Splitting mac-os into two different steps, as 2024 was made compatible with new arm architecture.
maya-macos-x86_64:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
include:
- maya: "2022"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2022/Autodesk_Maya_2022_5_Update_DEVKIT_Mac.dmg"
- maya: "2023"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2023/Autodesk_Maya_2023_3_Update_DEVKIT_Mac.dmg"
- maya: "2024"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2024/Autodesk_Maya_2024_2_Update_DEVKIT_Mac.dmg"
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: true
- name: Install devkit
run: |
curl -o devkit.dmg ${{matrix.devkit}}
hdiutil attach devkit.dmg
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '13.4'
- name: Configure CMake
run: |
cmake -G Xcode -DCMAKE_OSX_ARCHITECTURES=x86_64 -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMAYA_VERSION=${{matrix.maya}} -DMAYA_DEVKIT_BASE="/Volumes/devkitBase"
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Repath Artifacts
run: |
mkdir -p artifacts/plug-ins
cp ./build/${{env.BUILD_TYPE}}/TwistSpline.bundle artifacts/plug-ins
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: mac-${{matrix.maya}}-x86_64
path: |
artifacts/plug-ins/TwistSpline.bundle
maya-macos-arm64:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
include:
- maya: "2024"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2024/Autodesk_Maya_2024_2_Update_DEVKIT_Mac.dmg"
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: true
- name: Install devkit
run: |
curl -o devkit.dmg ${{matrix.devkit}}
hdiutil attach devkit.dmg
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '13.4'
- name: Configure CMake
run: |
cmake -G Xcode -DCMAKE_OSX_ARCHITECTURES=arm64 -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMAYA_VERSION=${{matrix.maya}} -DMAYA_DEVKIT_BASE="/Volumes/devkitBase"
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Repath Artifacts
run: |
mkdir -p artifacts/plug-ins
cp ./build/${{env.BUILD_TYPE}}/TwistSpline.bundle artifacts/plug-ins
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: mac-${{matrix.maya}}-arm64
path: |
artifacts/plug-ins/TwistSpline.bundle
maya-linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- maya: "2022"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2022/Autodesk_Maya_2022_5_Update_DEVKIT_Linux.tgz"
- maya: "2023"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2023/Autodesk_Maya_2023_3_Update_DEVKIT_Linux.tgz"
- maya: "2024"
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2024/Autodesk_Maya_2024_2_Update_DEVKIT_Linux.tgz"
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: true
- name: Install OpenGL libraries
run: |
sudo apt install libglu1-mesa-dev
- name: Install devkit
run: |
curl -o devkit.tgz ${{matrix.devkit}}
tar xvzf devkit.tgz
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMAYA_VERSION="${{matrix.maya}}" -DMAYA_DEVKIT_BASE="$PWD/devkitBase"
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Repath Artifacts
run: |
mkdir -p artifacts/plug-ins
cp "./build/TwistSpline.so" "artifacts/plug-ins"
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: linux-${{matrix.maya}}
path: |
artifacts/plug-ins/TwistSpline.so
#
# Shipping
#
# _________
# |\ _ _ _ _\
# | \________\
# | | |
# | | |
# \|________|
#
#
upload_release:
name: Upload release
needs: [maya-win, maya-linux, maya-macos-x86_64, maya-macos-arm64]
runs-on: ubuntu-latest
# Only run on e.g. v0.1.0
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Download artifacts
uses: actions/download-artifact@v3
# Omitting name: means "download all artifacts"
# Destination directory structure:
# ~/modules
# /TwistSpline
# /<os_name>-<maya_major_version>
# /plug-ins
# TwistSpline.mll
# /scripts
# *.py
# /TwistSpline.mod
with:
path: modules/TwistSpline
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Create distribution
run: |
cp ./TwistSpline.mod modules/
mkdir -p modules/TwistSpline/scripts
cp -r ./scripts modules/TwistSpline
zip -r TwistSpline-${{env.RELEASE_VERSION}}.zip modules/
- name: Upload distribution
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: false
files: |
TwistSpline-*.zip