Fix: modularize CI workflows
All checks were successful
Deploy Website / deploy (push) Has been skipped
All checks were successful
Deploy Website / deploy (push) Has been skipped
This commit is contained in:
129
.github/workflows/assemble-macos.yml
vendored
Normal file
129
.github/workflows/assemble-macos.yml
vendored
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
name: Assemble macOS Universal
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
assemble:
|
||||||
|
runs-on: macos-14
|
||||||
|
timeout-minutes: 10
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Download macOS artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
pattern: cagire-macos-*
|
||||||
|
path: artifacts
|
||||||
|
|
||||||
|
- name: Create universal CLI binary
|
||||||
|
run: |
|
||||||
|
lipo -create \
|
||||||
|
artifacts/cagire-macos-x86_64/cagire \
|
||||||
|
artifacts/cagire-macos-aarch64/cagire \
|
||||||
|
-output cagire
|
||||||
|
chmod +x cagire
|
||||||
|
lipo -info cagire
|
||||||
|
|
||||||
|
- name: Create universal app bundle
|
||||||
|
run: |
|
||||||
|
cd artifacts/cagire-macos-aarch64-desktop
|
||||||
|
unzip Cagire.app.zip
|
||||||
|
cd ../cagire-macos-x86_64-desktop
|
||||||
|
unzip Cagire.app.zip
|
||||||
|
cd ../..
|
||||||
|
cp -R artifacts/cagire-macos-aarch64-desktop/Cagire.app Cagire.app
|
||||||
|
lipo -create \
|
||||||
|
artifacts/cagire-macos-x86_64-desktop/Cagire.app/Contents/MacOS/cagire-desktop \
|
||||||
|
artifacts/cagire-macos-aarch64-desktop/Cagire.app/Contents/MacOS/cagire-desktop \
|
||||||
|
-output Cagire.app/Contents/MacOS/cagire-desktop
|
||||||
|
lipo -info Cagire.app/Contents/MacOS/cagire-desktop
|
||||||
|
zip -r Cagire.app.zip Cagire.app
|
||||||
|
|
||||||
|
- name: Create universal CLAP plugin
|
||||||
|
run: |
|
||||||
|
mkdir -p cagire-plugins.clap/Contents/MacOS
|
||||||
|
cp artifacts/cagire-macos-aarch64-clap/cagire-plugins.clap/Contents/Info.plist \
|
||||||
|
cagire-plugins.clap/Contents/ 2>/dev/null || true
|
||||||
|
cp artifacts/cagire-macos-aarch64-clap/cagire-plugins.clap/Contents/PkgInfo \
|
||||||
|
cagire-plugins.clap/Contents/ 2>/dev/null || true
|
||||||
|
lipo -create \
|
||||||
|
artifacts/cagire-macos-x86_64-clap/cagire-plugins.clap/Contents/MacOS/cagire-plugins \
|
||||||
|
artifacts/cagire-macos-aarch64-clap/cagire-plugins.clap/Contents/MacOS/cagire-plugins \
|
||||||
|
-output cagire-plugins.clap/Contents/MacOS/cagire-plugins
|
||||||
|
lipo -info cagire-plugins.clap/Contents/MacOS/cagire-plugins
|
||||||
|
|
||||||
|
- name: Create universal VST3 plugin
|
||||||
|
run: |
|
||||||
|
mkdir -p cagire-plugins.vst3/Contents/MacOS
|
||||||
|
cp -R artifacts/cagire-macos-aarch64-vst3/cagire-plugins.vst3/Contents/Info.plist \
|
||||||
|
cagire-plugins.vst3/Contents/ 2>/dev/null || true
|
||||||
|
cp artifacts/cagire-macos-aarch64-vst3/cagire-plugins.vst3/Contents/PkgInfo \
|
||||||
|
cagire-plugins.vst3/Contents/ 2>/dev/null || true
|
||||||
|
cp -R artifacts/cagire-macos-aarch64-vst3/cagire-plugins.vst3/Contents/Resources \
|
||||||
|
cagire-plugins.vst3/Contents/ 2>/dev/null || true
|
||||||
|
lipo -create \
|
||||||
|
artifacts/cagire-macos-x86_64-vst3/cagire-plugins.vst3/Contents/MacOS/cagire-plugins \
|
||||||
|
artifacts/cagire-macos-aarch64-vst3/cagire-plugins.vst3/Contents/MacOS/cagire-plugins \
|
||||||
|
-output cagire-plugins.vst3/Contents/MacOS/cagire-plugins
|
||||||
|
lipo -info cagire-plugins.vst3/Contents/MacOS/cagire-plugins
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
sparse-checkout: |
|
||||||
|
assets/DMG-README.txt
|
||||||
|
scripts/make-dmg.sh
|
||||||
|
clean: false
|
||||||
|
|
||||||
|
- name: Create DMG
|
||||||
|
run: |
|
||||||
|
chmod +x scripts/make-dmg.sh
|
||||||
|
scripts/make-dmg.sh Cagire.app .
|
||||||
|
|
||||||
|
- name: Build .pkg installer
|
||||||
|
run: |
|
||||||
|
VERSION="${GITHUB_REF_NAME#v}"
|
||||||
|
mkdir -p pkg-root/Applications pkg-root/usr/local/bin
|
||||||
|
cp -R Cagire.app pkg-root/Applications/
|
||||||
|
cp cagire pkg-root/usr/local/bin/
|
||||||
|
pkgbuild --analyze --root pkg-root component.plist
|
||||||
|
plutil -replace BundleIsRelocatable -bool NO component.plist
|
||||||
|
pkgbuild --root pkg-root --identifier com.sova.cagire \
|
||||||
|
--version "$VERSION" --install-location / \
|
||||||
|
--component-plist component.plist \
|
||||||
|
"Cagire-${VERSION}-universal.pkg"
|
||||||
|
|
||||||
|
- name: Upload universal CLI
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-macos-universal
|
||||||
|
path: cagire
|
||||||
|
|
||||||
|
- name: Upload universal app bundle
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-macos-universal-desktop
|
||||||
|
path: Cagire.app.zip
|
||||||
|
|
||||||
|
- name: Upload universal CLAP plugin
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-macos-universal-clap
|
||||||
|
path: cagire-plugins.clap
|
||||||
|
|
||||||
|
- name: Upload universal VST3 plugin
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-macos-universal-vst3
|
||||||
|
path: cagire-plugins.vst3
|
||||||
|
|
||||||
|
- name: Upload DMG
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-macos-universal-dmg
|
||||||
|
path: Cagire-*.dmg
|
||||||
|
|
||||||
|
- name: Upload .pkg installer
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-macos-universal-pkg
|
||||||
|
path: Cagire-*-universal.pkg
|
||||||
49
.github/workflows/build-cross.yml
vendored
Normal file
49
.github/workflows/build-cross.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Build Cross (Linux ARM64)
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 45
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Cache Rust dependencies
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
key: aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Install cross
|
||||||
|
run: cargo install cross --git https://github.com/cross-rs/cross
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cross build --release --target aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Build desktop
|
||||||
|
run: cross build --release --features desktop --bin cagire-desktop --target aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Upload CLI artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-linux-aarch64
|
||||||
|
path: target/aarch64-unknown-linux-gnu/release/cagire
|
||||||
|
|
||||||
|
- name: Upload desktop artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-linux-aarch64-desktop
|
||||||
|
path: target/aarch64-unknown-linux-gnu/release/cagire-desktop
|
||||||
124
.github/workflows/build-linux.yml
vendored
Normal file
124
.github/workflows/build-linux.yml
vendored
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
name: Build Linux
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
run-tests:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
run-clippy:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
build-packages:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
run-tests:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
run-clippy:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
build-packages:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: x86_64-unknown-linux-gnu
|
||||||
|
components: clippy
|
||||||
|
|
||||||
|
- name: Cache Rust dependencies
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
key: x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y build-essential cmake pkg-config libasound2-dev libclang-dev libjack-dev \
|
||||||
|
libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libgl1-mesa-dev \
|
||||||
|
libx11-dev libx11-xcb-dev libxcursor-dev libxrandr-dev libxi-dev libwayland-dev
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cargo build --release --target x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Build desktop
|
||||||
|
run: cargo build --release --features desktop --bin cagire-desktop --target x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
if: inputs.run-tests
|
||||||
|
run: cargo test --target x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Clippy
|
||||||
|
if: inputs.run-clippy
|
||||||
|
run: cargo clippy --target x86_64-unknown-linux-gnu -- -D warnings
|
||||||
|
|
||||||
|
- name: Install cargo-bundle
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: cargo install cargo-bundle
|
||||||
|
|
||||||
|
- name: Bundle desktop app
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: cargo bundle --release --features desktop --bin cagire-desktop --target x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Build AppImages
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: |
|
||||||
|
mkdir -p target/releases
|
||||||
|
scripts/make-appimage.sh target/x86_64-unknown-linux-gnu/release/cagire x86_64 target/releases
|
||||||
|
scripts/make-appimage.sh target/x86_64-unknown-linux-gnu/release/cagire-desktop x86_64 target/releases
|
||||||
|
|
||||||
|
- name: Bundle CLAP plugin
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: cargo xtask bundle cagire-plugins --release --target x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- name: Upload CLI artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-linux-x86_64
|
||||||
|
path: target/x86_64-unknown-linux-gnu/release/cagire
|
||||||
|
|
||||||
|
- name: Upload desktop artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-linux-x86_64-desktop
|
||||||
|
path: target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb
|
||||||
|
|
||||||
|
- name: Upload AppImage artifacts
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-linux-x86_64-appimage
|
||||||
|
path: target/releases/*.AppImage
|
||||||
|
|
||||||
|
- name: Upload CLAP artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-linux-x86_64-clap
|
||||||
|
path: target/bundled/cagire-plugins.clap
|
||||||
|
|
||||||
|
- name: Upload VST3 artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-linux-x86_64-vst3
|
||||||
|
path: target/bundled/cagire-plugins.vst3
|
||||||
120
.github/workflows/build-macos.yml
vendored
Normal file
120
.github/workflows/build-macos.yml
vendored
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
name: Build macOS
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
run-tests:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
run-clippy:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
build-packages:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
matrix:
|
||||||
|
type: string
|
||||||
|
default: '[{"os":"macos-14","target":"aarch64-apple-darwin","artifact":"cagire-macos-aarch64"}]'
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
run-tests:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
run-clippy:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
build-packages:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
matrix:
|
||||||
|
type: string
|
||||||
|
default: '[{"os":"macos-14","target":"aarch64-apple-darwin","artifact":"cagire-macos-aarch64"}]'
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
MACOSX_DEPLOYMENT_TARGET: "12.0"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include: ${{ fromJSON(inputs.matrix) }}
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: ${{ matrix.target }}
|
||||||
|
components: clippy
|
||||||
|
|
||||||
|
- name: Cache Rust dependencies
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
key: ${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: brew list cmake &>/dev/null || brew install cmake
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cargo build --release --target ${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Build desktop
|
||||||
|
run: cargo build --release --features desktop --bin cagire-desktop --target ${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
if: inputs.run-tests
|
||||||
|
run: cargo test --target ${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Clippy
|
||||||
|
if: inputs.run-clippy
|
||||||
|
run: cargo clippy --target ${{ matrix.target }} -- -D warnings
|
||||||
|
|
||||||
|
- name: Bundle desktop app
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: scripts/make-app-bundle.sh ${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Bundle CLAP plugin
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: cargo xtask bundle cagire-plugins --release --target ${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Zip macOS app bundle
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: |
|
||||||
|
cd target/${{ matrix.target }}/release/bundle/osx
|
||||||
|
zip -r Cagire.app.zip Cagire.app
|
||||||
|
|
||||||
|
- name: Upload CLI artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.artifact }}
|
||||||
|
path: target/${{ matrix.target }}/release/cagire
|
||||||
|
|
||||||
|
- name: Upload desktop artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.artifact }}-desktop
|
||||||
|
path: target/${{ matrix.target }}/release/bundle/osx/Cagire.app.zip
|
||||||
|
|
||||||
|
- name: Upload CLAP artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.artifact }}-clap
|
||||||
|
path: target/bundled/cagire-plugins.clap
|
||||||
|
|
||||||
|
- name: Upload VST3 artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.artifact }}-vst3
|
||||||
|
path: target/bundled/cagire-plugins.vst3
|
||||||
115
.github/workflows/build-windows.yml
vendored
Normal file
115
.github/workflows/build-windows.yml
vendored
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
name: Build Windows
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
run-tests:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
run-clippy:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
build-packages:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
run-tests:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
run-clippy:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
build-packages:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: windows-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: x86_64-pc-windows-msvc
|
||||||
|
components: clippy
|
||||||
|
|
||||||
|
- name: Cache Rust dependencies
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
key: x86_64-pc-windows-msvc
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
|
||||||
|
echo "C:\Program Files\CMake\bin" >> $env:GITHUB_PATH
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cargo build --release --target x86_64-pc-windows-msvc
|
||||||
|
|
||||||
|
- name: Build desktop
|
||||||
|
run: cargo build --release --features desktop --bin cagire-desktop --target x86_64-pc-windows-msvc
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
if: inputs.run-tests
|
||||||
|
run: cargo test --target x86_64-pc-windows-msvc
|
||||||
|
|
||||||
|
- name: Clippy
|
||||||
|
if: inputs.run-clippy
|
||||||
|
run: cargo clippy --target x86_64-pc-windows-msvc -- -D warnings
|
||||||
|
|
||||||
|
- name: Bundle CLAP plugin
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: cargo xtask bundle cagire-plugins --release --target x86_64-pc-windows-msvc
|
||||||
|
|
||||||
|
- name: Install cargo-wix
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: cargo install cargo-wix
|
||||||
|
|
||||||
|
- name: Build MSI installer
|
||||||
|
if: inputs.build-packages
|
||||||
|
run: cargo wix --no-build --nocapture --package cagire -C -arch -C x64
|
||||||
|
|
||||||
|
- name: Upload CLI artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-windows-x86_64
|
||||||
|
path: target/x86_64-pc-windows-msvc/release/cagire.exe
|
||||||
|
|
||||||
|
- name: Upload desktop artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-windows-x86_64-desktop
|
||||||
|
path: target/x86_64-pc-windows-msvc/release/cagire-desktop.exe
|
||||||
|
|
||||||
|
- name: Upload MSI artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-windows-x86_64-msi
|
||||||
|
path: target/wix/*.msi
|
||||||
|
|
||||||
|
- name: Upload CLAP artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-windows-x86_64-clap
|
||||||
|
path: target/bundled/cagire-plugins.clap
|
||||||
|
|
||||||
|
- name: Upload VST3 artifact
|
||||||
|
if: inputs.build-packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cagire-windows-x86_64-vst3
|
||||||
|
path: target/bundled/cagire-plugins.vst3
|
||||||
76
.github/workflows/ci.yml
vendored
76
.github/workflows/ci.yml
vendored
@@ -4,71 +4,25 @@ on:
|
|||||||
push:
|
push:
|
||||||
tags: ['v*']
|
tags: ['v*']
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check:
|
linux:
|
||||||
strategy:
|
uses: ./.github/workflows/build-linux.yml
|
||||||
fail-fast: false
|
with:
|
||||||
matrix:
|
run-tests: true
|
||||||
include:
|
run-clippy: true
|
||||||
- os: ubuntu-latest
|
|
||||||
target: x86_64-unknown-linux-gnu
|
|
||||||
- os: macos-14
|
|
||||||
target: aarch64-apple-darwin
|
|
||||||
- os: windows-latest
|
|
||||||
target: x86_64-pc-windows-msvc
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
macos:
|
||||||
timeout-minutes: 20
|
uses: ./.github/workflows/build-macos.yml
|
||||||
|
with:
|
||||||
|
run-tests: true
|
||||||
|
run-clippy: true
|
||||||
|
|
||||||
steps:
|
windows:
|
||||||
- uses: actions/checkout@v4
|
uses: ./.github/workflows/build-windows.yml
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
run-tests: true
|
||||||
|
run-clippy: true
|
||||||
- name: Install Rust toolchain
|
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
with:
|
|
||||||
targets: ${{ matrix.target }}
|
|
||||||
components: clippy
|
|
||||||
|
|
||||||
- name: Cache Rust dependencies
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
key: ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Install dependencies (Linux)
|
|
||||||
if: runner.os == 'Linux'
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y build-essential cmake pkg-config libasound2-dev libclang-dev libjack-dev \
|
|
||||||
libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libgl1-mesa-dev \
|
|
||||||
libx11-dev libx11-xcb-dev libxcursor-dev libxrandr-dev libxi-dev libwayland-dev
|
|
||||||
|
|
||||||
- name: Install dependencies (macOS)
|
|
||||||
if: runner.os == 'macOS'
|
|
||||||
run: brew list cmake &>/dev/null || brew install cmake
|
|
||||||
|
|
||||||
- name: Install dependencies (Windows)
|
|
||||||
if: runner.os == 'Windows'
|
|
||||||
run: |
|
|
||||||
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
|
|
||||||
echo "C:\Program Files\CMake\bin" >> $env:GITHUB_PATH
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: cargo build --release --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Build desktop
|
|
||||||
run: cargo build --release --features desktop --bin cagire-desktop --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: cargo test --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Clippy
|
|
||||||
run: cargo clippy --target ${{ matrix.target }} -- -D warnings
|
|
||||||
|
|||||||
32
.github/workflows/msi.yml
vendored
32
.github/workflows/msi.yml
vendored
@@ -1,32 +0,0 @@
|
|||||||
name: MSI
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: windows-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- uses: dtolnay/rust-toolchain@stable
|
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
|
|
||||||
- name: Build CLI
|
|
||||||
run: cargo build --release
|
|
||||||
|
|
||||||
- name: Build Desktop
|
|
||||||
run: cargo build --release --features desktop --bin cagire-desktop
|
|
||||||
|
|
||||||
- name: Install cargo-wix
|
|
||||||
run: cargo install cargo-wix
|
|
||||||
|
|
||||||
- name: Build MSI
|
|
||||||
run: cargo wix --no-build --nocapture --package cagire -C -arch -C x64
|
|
||||||
|
|
||||||
- name: Upload MSI
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: cagire-msi
|
|
||||||
path: target/wix/*.msi
|
|
||||||
351
.github/workflows/release.yml
vendored
351
.github/workflows/release.yml
vendored
@@ -5,347 +5,44 @@ on:
|
|||||||
push:
|
push:
|
||||||
tags: ['v*']
|
tags: ['v*']
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
MACOSX_DEPLOYMENT_TARGET: "12.0"
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
linux:
|
||||||
if: github.server_url == 'https://github.com'
|
if: github.server_url == 'https://github.com'
|
||||||
strategy:
|
uses: ./.github/workflows/build-linux.yml
|
||||||
fail-fast: false
|
with:
|
||||||
matrix:
|
build-packages: true
|
||||||
include:
|
|
||||||
- os: ubuntu-latest
|
|
||||||
target: x86_64-unknown-linux-gnu
|
|
||||||
artifact: cagire-linux-x86_64
|
|
||||||
- os: macos-15-intel
|
|
||||||
target: x86_64-apple-darwin
|
|
||||||
artifact: cagire-macos-x86_64
|
|
||||||
- os: macos-14
|
|
||||||
target: aarch64-apple-darwin
|
|
||||||
artifact: cagire-macos-aarch64
|
|
||||||
- os: windows-latest
|
|
||||||
target: x86_64-pc-windows-msvc
|
|
||||||
artifact: cagire-windows-x86_64
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
macos:
|
||||||
timeout-minutes: 60
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
with:
|
|
||||||
targets: ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Cache Rust dependencies
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
key: ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Install dependencies (Linux)
|
|
||||||
if: runner.os == 'Linux'
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y build-essential cmake pkg-config libasound2-dev libclang-dev libjack-dev \
|
|
||||||
libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libgl1-mesa-dev \
|
|
||||||
libx11-dev libx11-xcb-dev libxcursor-dev libxrandr-dev libxi-dev libwayland-dev
|
|
||||||
cargo install cargo-bundle
|
|
||||||
|
|
||||||
- name: Install dependencies (macOS)
|
|
||||||
if: runner.os == 'macOS'
|
|
||||||
run: |
|
|
||||||
brew list cmake &>/dev/null || brew install cmake
|
|
||||||
|
|
||||||
- name: Install dependencies (Windows)
|
|
||||||
if: runner.os == 'Windows'
|
|
||||||
run: |
|
|
||||||
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
|
|
||||||
echo "C:\Program Files\CMake\bin" >> $env:GITHUB_PATH
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: cargo build --release --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Build desktop
|
|
||||||
run: cargo build --release --features desktop --bin cagire-desktop --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Bundle desktop app (macOS)
|
|
||||||
if: runner.os == 'macOS'
|
|
||||||
run: scripts/make-app-bundle.sh ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Bundle desktop app (Linux)
|
|
||||||
if: runner.os == 'Linux'
|
|
||||||
run: cargo bundle --release --features desktop --bin cagire-desktop --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Build AppImages (Linux)
|
|
||||||
if: runner.os == 'Linux'
|
|
||||||
run: |
|
|
||||||
mkdir -p target/releases
|
|
||||||
scripts/make-appimage.sh target/${{ matrix.target }}/release/cagire x86_64 target/releases
|
|
||||||
scripts/make-appimage.sh target/${{ matrix.target }}/release/cagire-desktop x86_64 target/releases
|
|
||||||
|
|
||||||
- name: Upload AppImage artifacts (Linux)
|
|
||||||
if: runner.os == 'Linux'
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}-appimage
|
|
||||||
path: target/releases/*.AppImage
|
|
||||||
|
|
||||||
- name: Bundle CLAP plugin
|
|
||||||
run: cargo xtask bundle cagire-plugins --release --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Zip macOS app bundle
|
|
||||||
if: runner.os == 'macOS'
|
|
||||||
run: |
|
|
||||||
cd target/${{ matrix.target }}/release/bundle/osx
|
|
||||||
zip -r Cagire.app.zip Cagire.app
|
|
||||||
|
|
||||||
- name: Upload artifact (Unix)
|
|
||||||
if: runner.os != 'Windows'
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}
|
|
||||||
path: target/${{ matrix.target }}/release/cagire
|
|
||||||
|
|
||||||
- name: Upload artifact (Windows)
|
|
||||||
if: runner.os == 'Windows'
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}
|
|
||||||
path: target/${{ matrix.target }}/release/cagire.exe
|
|
||||||
|
|
||||||
- name: Upload desktop artifact (Linux deb)
|
|
||||||
if: runner.os == 'Linux'
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}-desktop
|
|
||||||
path: target/${{ matrix.target }}/release/bundle/deb/*.deb
|
|
||||||
|
|
||||||
- name: Upload desktop artifact (macOS app bundle)
|
|
||||||
if: runner.os == 'macOS'
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}-desktop
|
|
||||||
path: target/${{ matrix.target }}/release/bundle/osx/Cagire.app.zip
|
|
||||||
|
|
||||||
- name: Upload desktop artifact (Windows exe)
|
|
||||||
if: runner.os == 'Windows'
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}-desktop
|
|
||||||
path: target/${{ matrix.target }}/release/cagire-desktop.exe
|
|
||||||
|
|
||||||
- name: Install cargo-wix (Windows)
|
|
||||||
if: runner.os == 'Windows'
|
|
||||||
run: cargo install cargo-wix
|
|
||||||
|
|
||||||
- name: Build MSI installer (Windows)
|
|
||||||
if: runner.os == 'Windows'
|
|
||||||
run: cargo wix --no-build --nocapture --package cagire -C -arch -C x64
|
|
||||||
|
|
||||||
- name: Upload MSI installer (Windows)
|
|
||||||
if: runner.os == 'Windows'
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}-msi
|
|
||||||
path: target/wix/*.msi
|
|
||||||
|
|
||||||
- name: Upload CLAP artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}-clap
|
|
||||||
path: target/bundled/cagire-plugins.clap
|
|
||||||
|
|
||||||
- name: Upload VST3 artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}-vst3
|
|
||||||
path: target/bundled/cagire-plugins.vst3
|
|
||||||
|
|
||||||
build-cross:
|
|
||||||
if: github.server_url == 'https://github.com'
|
if: github.server_url == 'https://github.com'
|
||||||
runs-on: ubuntu-latest
|
uses: ./.github/workflows/build-macos.yml
|
||||||
timeout-minutes: 45
|
with:
|
||||||
|
build-packages: true
|
||||||
|
matrix: >-
|
||||||
|
[
|
||||||
|
{"os":"macos-14","target":"aarch64-apple-darwin","artifact":"cagire-macos-aarch64"},
|
||||||
|
{"os":"macos-15-intel","target":"x86_64-apple-darwin","artifact":"cagire-macos-x86_64"}
|
||||||
|
]
|
||||||
|
|
||||||
strategy:
|
windows:
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- target: aarch64-unknown-linux-gnu
|
|
||||||
artifact: cagire-linux-aarch64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
with:
|
|
||||||
targets: ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Cache Rust dependencies
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
key: ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Install cross
|
|
||||||
run: cargo install cross --git https://github.com/cross-rs/cross
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: cross build --release --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Build desktop
|
|
||||||
run: cross build --release --features desktop --bin cagire-desktop --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}
|
|
||||||
path: target/${{ matrix.target }}/release/cagire
|
|
||||||
|
|
||||||
- name: Upload desktop artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.artifact }}-desktop
|
|
||||||
path: target/${{ matrix.target }}/release/cagire-desktop
|
|
||||||
|
|
||||||
universal-macos:
|
|
||||||
if: github.server_url == 'https://github.com'
|
if: github.server_url == 'https://github.com'
|
||||||
needs: build
|
uses: ./.github/workflows/build-windows.yml
|
||||||
runs-on: macos-14
|
with:
|
||||||
timeout-minutes: 10
|
build-packages: true
|
||||||
|
|
||||||
steps:
|
cross:
|
||||||
- name: Download macOS artifacts
|
if: github.server_url == 'https://github.com'
|
||||||
uses: actions/download-artifact@v4
|
uses: ./.github/workflows/build-cross.yml
|
||||||
with:
|
|
||||||
pattern: cagire-macos-*
|
|
||||||
path: artifacts
|
|
||||||
|
|
||||||
- name: Create universal CLI binary
|
assemble-macos:
|
||||||
run: |
|
needs: macos
|
||||||
lipo -create \
|
uses: ./.github/workflows/assemble-macos.yml
|
||||||
artifacts/cagire-macos-x86_64/cagire \
|
|
||||||
artifacts/cagire-macos-aarch64/cagire \
|
|
||||||
-output cagire
|
|
||||||
chmod +x cagire
|
|
||||||
lipo -info cagire
|
|
||||||
|
|
||||||
- name: Create universal app bundle
|
|
||||||
run: |
|
|
||||||
cd artifacts/cagire-macos-aarch64-desktop
|
|
||||||
unzip Cagire.app.zip
|
|
||||||
cd ../cagire-macos-x86_64-desktop
|
|
||||||
unzip Cagire.app.zip
|
|
||||||
cd ../..
|
|
||||||
cp -R artifacts/cagire-macos-aarch64-desktop/Cagire.app Cagire.app
|
|
||||||
lipo -create \
|
|
||||||
artifacts/cagire-macos-x86_64-desktop/Cagire.app/Contents/MacOS/cagire-desktop \
|
|
||||||
artifacts/cagire-macos-aarch64-desktop/Cagire.app/Contents/MacOS/cagire-desktop \
|
|
||||||
-output Cagire.app/Contents/MacOS/cagire-desktop
|
|
||||||
lipo -info Cagire.app/Contents/MacOS/cagire-desktop
|
|
||||||
zip -r Cagire.app.zip Cagire.app
|
|
||||||
|
|
||||||
- name: Create universal CLAP plugin
|
|
||||||
run: |
|
|
||||||
mkdir -p cagire-plugins.clap/Contents/MacOS
|
|
||||||
cp artifacts/cagire-macos-aarch64-clap/cagire-plugins.clap/Contents/Info.plist \
|
|
||||||
cagire-plugins.clap/Contents/ 2>/dev/null || true
|
|
||||||
cp artifacts/cagire-macos-aarch64-clap/cagire-plugins.clap/Contents/PkgInfo \
|
|
||||||
cagire-plugins.clap/Contents/ 2>/dev/null || true
|
|
||||||
lipo -create \
|
|
||||||
artifacts/cagire-macos-x86_64-clap/cagire-plugins.clap/Contents/MacOS/cagire-plugins \
|
|
||||||
artifacts/cagire-macos-aarch64-clap/cagire-plugins.clap/Contents/MacOS/cagire-plugins \
|
|
||||||
-output cagire-plugins.clap/Contents/MacOS/cagire-plugins
|
|
||||||
lipo -info cagire-plugins.clap/Contents/MacOS/cagire-plugins
|
|
||||||
|
|
||||||
- name: Create universal VST3 plugin
|
|
||||||
run: |
|
|
||||||
mkdir -p cagire-plugins.vst3/Contents/MacOS
|
|
||||||
cp -R artifacts/cagire-macos-aarch64-vst3/cagire-plugins.vst3/Contents/Info.plist \
|
|
||||||
cagire-plugins.vst3/Contents/ 2>/dev/null || true
|
|
||||||
cp artifacts/cagire-macos-aarch64-vst3/cagire-plugins.vst3/Contents/PkgInfo \
|
|
||||||
cagire-plugins.vst3/Contents/ 2>/dev/null || true
|
|
||||||
cp -R artifacts/cagire-macos-aarch64-vst3/cagire-plugins.vst3/Contents/Resources \
|
|
||||||
cagire-plugins.vst3/Contents/ 2>/dev/null || true
|
|
||||||
lipo -create \
|
|
||||||
artifacts/cagire-macos-x86_64-vst3/cagire-plugins.vst3/Contents/MacOS/cagire-plugins \
|
|
||||||
artifacts/cagire-macos-aarch64-vst3/cagire-plugins.vst3/Contents/MacOS/cagire-plugins \
|
|
||||||
-output cagire-plugins.vst3/Contents/MacOS/cagire-plugins
|
|
||||||
lipo -info cagire-plugins.vst3/Contents/MacOS/cagire-plugins
|
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
sparse-checkout: |
|
|
||||||
assets/DMG-README.txt
|
|
||||||
scripts/make-dmg.sh
|
|
||||||
clean: false
|
|
||||||
|
|
||||||
- name: Create DMG
|
|
||||||
run: |
|
|
||||||
chmod +x scripts/make-dmg.sh
|
|
||||||
scripts/make-dmg.sh Cagire.app .
|
|
||||||
|
|
||||||
- name: Build .pkg installer
|
|
||||||
run: |
|
|
||||||
VERSION="${GITHUB_REF_NAME#v}"
|
|
||||||
mkdir -p pkg-root/Applications pkg-root/usr/local/bin
|
|
||||||
cp -R Cagire.app pkg-root/Applications/
|
|
||||||
cp cagire pkg-root/usr/local/bin/
|
|
||||||
pkgbuild --analyze --root pkg-root component.plist
|
|
||||||
plutil -replace BundleIsRelocatable -bool NO component.plist
|
|
||||||
pkgbuild --root pkg-root --identifier com.sova.cagire \
|
|
||||||
--version "$VERSION" --install-location / \
|
|
||||||
--component-plist component.plist \
|
|
||||||
"Cagire-${VERSION}-universal.pkg"
|
|
||||||
|
|
||||||
- name: Upload universal CLI
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: cagire-macos-universal
|
|
||||||
path: cagire
|
|
||||||
|
|
||||||
- name: Upload universal app bundle
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: cagire-macos-universal-desktop
|
|
||||||
path: Cagire.app.zip
|
|
||||||
|
|
||||||
- name: Upload universal CLAP plugin
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: cagire-macos-universal-clap
|
|
||||||
path: cagire-plugins.clap
|
|
||||||
|
|
||||||
- name: Upload universal VST3 plugin
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: cagire-macos-universal-vst3
|
|
||||||
path: cagire-plugins.vst3
|
|
||||||
|
|
||||||
- name: Upload DMG
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: cagire-macos-universal-dmg
|
|
||||||
path: Cagire-*.dmg
|
|
||||||
|
|
||||||
- name: Upload .pkg installer
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: cagire-macos-universal-pkg
|
|
||||||
path: Cagire-*-universal.pkg
|
|
||||||
|
|
||||||
release:
|
release:
|
||||||
needs: [build, build-cross, universal-macos]
|
needs: [linux, macos, windows, cross, assemble-macos]
|
||||||
if: startsWith(github.ref, 'refs/tags/v') && github.server_url == 'https://github.com'
|
if: startsWith(github.ref, 'refs/tags/v') && github.server_url == 'https://github.com'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
|
|||||||
Reference in New Issue
Block a user