-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
15 changed files
with
279 additions
and
575 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,298 +1,104 @@ | ||
|
||
name: build | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
tags: | ||
- v* | ||
pull_request: | ||
branches: [ main ] | ||
|
||
env: | ||
BUILD_TYPE: Release | ||
# matrix: | ||
# maya: [2024] | ||
# os: [macos-latest, ubuntu-latest, windows-latest] | ||
# include: | ||
# - maya: 2024 | ||
# update: 2 | ||
|
||
jobs: | ||
maya-win: | ||
runs-on: windows-latest | ||
|
||
compile_plugin: | ||
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: "2018" | ||
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2018/Autodesk_Maya_2018_7_Update_DEVKIT_Windows.zip" | ||
- maya: "2019" | ||
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2019/Autodesk_Maya_2019_3_Update_DEVKIT_Windows.zip" | ||
- maya: "2020" | ||
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2020/Autodesk_Maya_2020_4_Update_DEVKIT_Windows.zip" | ||
- maya: "2022" | ||
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2022/Autodesk_Maya_2022_3_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_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_1_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" | ||
maya: [2022, 2023, 2024, 2025] | ||
os: [macos-13, macos-latest, ubuntu-latest, windows-latest] | ||
include: | ||
# Add the maya update versions here | ||
- maya: 2022 | ||
update: 5 | ||
- maya: 2023 | ||
update: 3 | ||
- maya: 2024 | ||
update: 2 | ||
- maya: 2025 | ||
update: 1 | ||
|
||
# cross-compiling is annoying so just fall back to macos-13 | ||
exclude: | ||
- os: macos-latest | ||
maya: 2022 | ||
- os: macos-latest | ||
maya: 2023 | ||
- os: macos-13 | ||
maya: 2024 | ||
- os: macos-13 | ||
maya: 2025 | ||
|
||
- name: Build | ||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | ||
|
||
- name: Repath Artifacts | ||
run: | | ||
mkdir artifacts/blurdeform/win64-${{matrix.maya}}/plug-ins | ||
Copy-Item "./build/${{env.BUILD_TYPE}}/blurPostDeform.mll" -Destination "artifacts/blurdeform/win64-${{matrix.maya}}/plug-ins" | ||
New-Item -Name artifacts/blurdeform.mod -ItemType File | ||
- name: Upload Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: blurdeform | ||
path: | | ||
artifacts/blurdeform/win64-${{matrix.maya}}/plug-ins/blurPostDeform.mll | ||
artifacts/blurdeform.mod | ||
maya-macos-11: | ||
runs-on: macos-11 | ||
|
||
strategy: | ||
fail-fast: false | ||
|
||
matrix: | ||
include: | ||
- maya: "2018" | ||
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2018/Autodesk_Maya_2018_7_Update_DEVKIT_Mac.dmg" | ||
- maya: "2019" | ||
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2019/Autodesk_Maya_2019_3_Update_DEVKIT_Mac.dmg" | ||
- maya: "2020" | ||
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2020/Autodesk_Maya_2020_4_Update_DEVKIT_Mac.dmg" | ||
- maya: "2022" | ||
devkit: "https://autodesk-adn-transfer.s3-us-west-2.amazonaws.com/ADN+Extranet/M%26E/Maya/devkit+2022/Autodesk_Maya_2022_3_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_DEVKIT_Mac.dmg" | ||
|
||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
- name: Install devkit | ||
run: | | ||
curl -o devkit.dmg ${{matrix.devkit}} | ||
7z x devkit.dmg | ||
- uses: actions/checkout@v4 | ||
- run: git fetch --force --tags origin | ||
|
||
- uses: maxim-lobanov/setup-xcode@v1 | ||
- name: Get Maya Devkit | ||
id: get-devkit | ||
uses: blurstudio/mayaModuleActions/getMayaDevkit@v1 | ||
with: | ||
xcode-version: '11.7' | ||
|
||
- name: Configure CMake | ||
run: | | ||
cmake -G Xcode -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMAYA_VERSION=${{matrix.maya}} -DMAYA_DEVKIT_BASE="$PWD/devkitBase" | ||
maya: ${{ matrix.maya }} | ||
update: ${{ matrix.update }} | ||
|
||
- name: Build | ||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | ||
|
||
- name: Repath Artifacts | ||
run: | | ||
mkdir -p artifacts/blurdeform/mac-${{matrix.maya}}/plug-ins | ||
cp ./build/${{env.BUILD_TYPE}}/blurPostDeform.bundle artifacts/blurdeform/mac-${{matrix.maya}}/plug-ins | ||
touch artifacts/blurdeform.mod | ||
- name: Upload Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: blurdeform | ||
path: | | ||
artifacts/blurdeform/mac-${{matrix.maya}}/plug-ins/blurPostDeform.bundle | ||
artifacts/blurdeform.mod | ||
maya-macos-12: | ||
runs-on: macos-12 | ||
|
||
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_1_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}} | ||
MOUNTDIR=$(hdiutil mount devkit.dmg | awk 'END {$1=$2=""; print $0}') | ||
cp -r $MOUNTDIR . | ||
- uses: maxim-lobanov/setup-xcode@v1 | ||
uses: blurstudio/mayaModuleActions/mesonBuild@v1 | ||
with: | ||
xcode-version: '14' | ||
|
||
- name: Configure CMake | ||
run: | | ||
cmake -G Xcode -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/blurdeform/mac-${{matrix.maya}}/plug-ins | ||
cp ./build/${{env.BUILD_TYPE}}/blurPostDeform.bundle artifacts/blurdeform/mac-${{matrix.maya}}/plug-ins | ||
touch artifacts/blurdeform.mod | ||
setup-args: > | ||
-Dmaya:maya_version=${{ matrix.maya }} | ||
-Dmaya:maya_devkit_base=${{ steps.get-devkit.outputs.devkit-path }} | ||
--buildtype release | ||
--backend ninja | ||
- name: Upload Artifacts | ||
uses: actions/upload-artifact@v3 | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: blurdeform | ||
path: | | ||
artifacts/blurdeform/mac-${{matrix.maya}}/plug-ins/blurPostDeform.bundle | ||
artifacts/blurdeform.mod | ||
maya-linux: | ||
runs-on: ubuntu-latest | ||
container: scottenglert/maya-build:${{matrix.maya}} | ||
name: ${{ runner.os }}-${{ matrix.maya }}-plugin | ||
path: build/*.${{ steps.get-devkit.outputs.plugin-ext }} | ||
if-no-files-found: error | ||
|
||
strategy: | ||
fail-fast: false | ||
|
||
matrix: | ||
include: | ||
# The 2018 and 2019 containers use cmake 3.9, and I'm using functions introduced in 3.16 | ||
#- maya: "2018.7" | ||
# year: "2018" | ||
#- maya: "2019.3" | ||
# year: "2019" | ||
- maya: "2020.4" | ||
year: "2020" | ||
- maya: "2022.3" | ||
year: "2022" | ||
- maya: "2023" | ||
year: "2023" | ||
- maya: "2024" | ||
year: "2024" | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
- name: Configure CMake | ||
run: | | ||
mkdir build | ||
cd build | ||
cmake -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMAYA_VERSION=${{matrix.maya}} -DMAYA_DEVKIT_BASE="/usr/autodesk/devkitBase" .. | ||
- name: Build | ||
run: cmake --build ./build --config ${{env.BUILD_TYPE}} | ||
|
||
- name: Repath Artifacts | ||
run: | | ||
mkdir -p artifacts/blurdeform/linux-${{matrix.year}}/plug-ins | ||
cp ./build/blurPostDeform.so artifacts/blurdeform/linux-${{matrix.year}}/plug-ins | ||
touch artifacts/blurdeform.mod | ||
- name: Upload Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: blurdeform | ||
path: | | ||
artifacts/blurdeform/linux-${{matrix.year}}/plug-ins/blurPostDeform.so | ||
artifacts/blurdeform.mod | ||
build_modfile: | ||
name: Package release | ||
needs: [maya-win, maya-linux, maya-macos-11, maya-macos-12] | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Download artifacts | ||
uses: actions/download-artifact@v3 | ||
with: | ||
path: artifacts | ||
|
||
- name: Build Modfile | ||
run: | | ||
python buildmodfile.py artifacts/blurdeform/blurdeform.mod --name blurdeform --path artifacts/blurdeform/blurdeform | ||
- name: Create distribution | ||
run: | | ||
mkdir -p artifacts/blurdeform/blurdeform/scripts | ||
cp -r ./scripts/blurdeform artifacts/blurdeform/blurdeform/scripts | ||
- name: Upload Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: blurdeform | ||
path: | | ||
artifacts/blurdeform/blurdeform/scripts | ||
artifacts/blurdeform/blurdeform.mod | ||
# | ||
# Shipping | ||
# | ||
# _________ | ||
# |\ _ _ _ _\ | ||
# | \________\ | ||
# | | | | ||
# | | | | ||
# \|________| | ||
# | ||
# | ||
upload_release: | ||
name: Upload release | ||
needs: [maya-win, maya-linux, maya-macos-11, maya-macos-12, build_modfile] | ||
needs: compile_plugin | ||
runs-on: ubuntu-latest | ||
|
||
# Only run on e.g. v0.1.0 | ||
if: startsWith(github.ref, 'refs/tags/v') | ||
|
||
steps: | ||
- name: Download artifacts | ||
uses: actions/download-artifact@v3 | ||
- uses: actions/checkout@v4 | ||
- run: git fetch --force --tags origin | ||
- name: 'Get Previous tag' | ||
id: previoustag | ||
uses: "WyriHaximus/github-action-get-previous-tag@v1" | ||
with: | ||
path: artifacts | ||
|
||
- name: Set env | ||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | ||
fallback: 0.0.1 | ||
|
||
- name: Create zipfile | ||
run: | | ||
cd artifacts/blurdeform | ||
zip -r blurPostDeform-${{env.RELEASE_VERSION}}.zip . | ||
cd ../.. | ||
- name: Package | ||
uses: blurstudio/mayaModuleActions/packageMayaModule@v1 | ||
with: | ||
module-name: blurdeform | ||
folder-list: scripts icons | ||
version: ${{ steps.previoustag.outputs.tag }} | ||
|
||
- name: Upload distribution | ||
uses: "marvinpinto/action-automatic-releases@latest" | ||
if: ${{ startsWith(github.ref, 'refs/tags/v') }} | ||
uses: softprops/action-gh-release@v1 | ||
with: | ||
repo_token: "${{ secrets.GITHUB_TOKEN }}" | ||
token: "${{ secrets.GITHUB_TOKEN }}" | ||
prerelease: false | ||
files: artifacts/blurdeform/blurPostDeform-*.zip | ||
files: | | ||
*.zip |
Oops, something went wrong.