Combine the artifacts for easier downloading #10
Workflow file for this run
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 | |
on: | |
push: | |
branches: [ main ] | |
tags: | |
- v* | |
pull_request: | |
branches: [ main ] | |
env: | |
BUILD_TYPE: Release | |
jobs: | |
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: "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" | |
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/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: | |
runs-on: macos-latest | |
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" | |
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: maxim-lobanov/setup-xcode@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 | |
- 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-linux: | |
runs-on: ubuntu-latest | |
container: scottenglert/maya-build:${{matrix.maya}} | |
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" | |
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.maya}}/plug-ins | |
cp ./build/blurPostDeform.so artifacts/blurdeform/linux-${{matrix.maya}}/plug-ins | |
touch artifacts/blurdeform.mod | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: blurdeform | |
path: | | |
artifacts/blurdeform/linux-${{matrix.maya}}/plug-ins/blurPostDeform.so | |
artifacts/blurdeform.mod | |
build_modfile: | |
name: Package release | |
needs: [maya-win, maya-linux, maya-macos] | |
runs-on: ubuntu-latest | |
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: | |
# ~/artifacts | |
# /blurdeform | |
# /<os_name>-<maya_major_version> | |
# /plug-ins | |
# blurPostDeform.mll | |
# /blurdeform.mod | |
with: | |
path: artifacts | |
- name: Build Modfile | |
run: | | |
python buildmodfile.py artifacts/blurdeform.mod --name blurdeform | |
- name: Create distribution | |
run: | | |
mkdir -p artifacts/blurdeform/scripts | |
cp -r ./scripts/blurdeform artifacts/blurdeform/scripts | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: blurdeform | |
path: artifacts/ | |
# | |
# Shipping | |
# | |
# _________ | |
# |\ _ _ _ _\ | |
# | \________\ | |
# | | | | |
# | | | | |
# \|________| | |
# | |
# | |
upload_release: | |
name: Upload release | |
needs: [maya-win, maya-linux, maya-macos, build_modfile] | |
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 | |
# /blurdeform | |
# /<os_name>-<maya_major_version> | |
# /plug-ins | |
# blurPostDeform.mll | |
# /blurdeform.mod | |
with: | |
path: modules | |
- name: Set env | |
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | |
- name: Create distribution | |
run: | | |
cp ./blurdeform.mod modules/ | |
mkdir -p modules/blurdeform/scripts | |
cp -r ./scripts/blurdeform modules/blurdeform/scripts | |
zip -r blurPostDeform-${{env.RELEASE_VERSION}}.zip modules/ | |
- name: Upload distribution | |
uses: "marvinpinto/action-automatic-releases@latest" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "${{env.RELEASE_VERSION}}" | |
prerelease: false | |
files: blurPostDeform-*.zip |