Skip to content

Update to latest core #125

Update to latest core

Update to latest core #125

Workflow file for this run

on: [push, pull_request]
name: Release
jobs:
build:
strategy:
fail-fast: false
matrix:
targets: [
{ os: ubuntu-latest, type: linux },
{ os: macos-latest, type: macos },
{ os: windows-2022, type: windows }
]
name: Gyroflow plugins for ${{ matrix.targets.type }}
runs-on: ${{ matrix.targets.os }}
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Rust cache
uses: actions/cache@v4
with:
path: |
${{ github.workspace }}/target
~/.cargo
C:\Users\runneradmin\.cargo
key: ${{ matrix.targets.type }}-gyroflow-plugins-0
- name: Prepare Vulkan SDK
uses: humbletim/setup-vulkan-sdk@main
with:
vulkan-query-version: 1.3.204.0
vulkan-components: Vulkan-Headers
vulkan-use-cache: true
- name: Install Mac certificates
if: ${{ matrix.targets.os == 'macos-latest' }}
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.MACOS_CERTIFICATES }}
p12-password: ${{ secrets.MACOS_CERTIFICATE_PWD }}
- uses: extractions/setup-just@v2
- name: Build plugins (Windows)
if: ${{ matrix.targets.type == 'windows' }}
run: |
just install-deps
just deploy
- name: Build plugins (macOS)
if: ${{ matrix.targets.type == 'macos' }}
env:
SIGNING_FINGERPRINT: ${{ secrets.MACOS_CERTIFICATE_FINGERPRINT }}
run: |
just install-deps
just deploy
xcrun notarytool submit --wait --apple-id ${{ secrets.MACOS_ACCOUNT_USER }} --team-id ${{ secrets.MACOS_TEAM }} --password ${{ secrets.MACOS_ACCOUNT_PASS }} ${{ github.workspace }}/target/Gyroflow-OpenFX-macos.dmg
xcrun stapler staple --verbose ${{ github.workspace }}/target/Gyroflow-OpenFX-macos.dmg
xcrun notarytool submit --wait --apple-id ${{ secrets.MACOS_ACCOUNT_USER }} --team-id ${{ secrets.MACOS_TEAM }} --password ${{ secrets.MACOS_ACCOUNT_PASS }} ${{ github.workspace }}/target/Gyroflow-Adobe-macos.dmg
xcrun stapler staple --verbose ${{ github.workspace }}/target/Gyroflow-Adobe-macos.dmg
- name: Build plugins (Linux)
if: ${{ matrix.targets.type == 'linux' }}
run: |
sudo docker run -v ${{ github.workspace }}:${{ github.workspace }} -v $HOME/.cargo:/root/.cargo debian:10 bash -c "
set -e
apt-get update -y
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
apt install -y sudo dialog apt-utils git curl zip clang make ocl-icd-opencl-dev libwayland-client0 libwayland-dev
export RUNLEVEL=1
curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal
source \$HOME/.cargo/env
cargo install just
cd ${{ github.workspace }}
just install-deps
just deploy
"
sudo chown -R $(id -u):$(id -g) $HOME/.cargo
sudo chown -R $(id -u):$(id -g) ${{ github.workspace }}/target
- uses: actions/upload-artifact@v4
if: ${{ matrix.targets.type != 'macos' }}
with:
name: Gyroflow-OpenFX-${{ matrix.targets.type }}
path: target/Gyroflow-OpenFX*
- uses: actions/upload-artifact@v4
if: ${{ matrix.targets.type != 'macos' }}
with:
name: Gyroflow-Adobe-${{ matrix.targets.type }}
path: target/Gyroflow-Adobe-*
- uses: actions/upload-artifact@v4
with:
name: Gyroflow-frei0r-${{ matrix.targets.type }}
path: target/libgyroflow_frei0r*
- uses: actions/upload-artifact@v4
if: ${{ matrix.targets.type == 'macos' }}
with:
name: Gyroflow-OpenFX-${{ matrix.targets.type }}
path: target/Gyroflow-OpenFX-macos.dmg
- uses: actions/upload-artifact@v4
if: ${{ matrix.targets.type == 'macos' }}
with:
name: Gyroflow-Adobe-${{ matrix.targets.type }}
path: target/Gyroflow-Adobe-macos.dmg
- uses: actions/upload-artifact@v4
if: ${{ matrix.targets.type == 'macos' }}
with:
name: Gyroflow-OpenFX-${{ matrix.targets.type }}-zip
path: target/Gyroflow-OpenFX-macos.zip
- uses: actions/upload-artifact@v4
if: ${{ matrix.targets.type == 'macos' }}
with:
name: Gyroflow-Adobe-${{ matrix.targets.type }}-zip
path: target/Gyroflow-Adobe-macos.zip
github_release:
name: Create GitHub release
needs: build
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
- run: find . -type f
- name: Publish
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: ./**/*