mirror of
https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git
synced 2026-05-14 00:42:32 -07:00
Fix artifact name conflict between workflows
This commit is contained in:
241
build_macos_bridge.yml
Normal file
241
build_macos_bridge.yml
Normal file
@@ -0,0 +1,241 @@
|
|||||||
|
name: Build macOS with Linux bridge runtime
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
prepare_linux_bridge_runtime:
|
||||||
|
name: Prepare Linux bridge runtime
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
lfs: 'false'
|
||||||
|
|
||||||
|
- uses: lukka/get-cmake@latest
|
||||||
|
with:
|
||||||
|
cmakeVersion: "~4.3.0"
|
||||||
|
useLocalCache: true
|
||||||
|
useCloudCache: true
|
||||||
|
|
||||||
|
- name: Apt-Install Dependencies
|
||||||
|
uses: ./.github/actions/apt-install-deps
|
||||||
|
|
||||||
|
- name: Build Linux deps
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
for attempt in 1 2 3; do
|
||||||
|
echo "Build Linux deps attempt $attempt"
|
||||||
|
if ./build_linux.sh -drlL; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [ "$attempt" -lt 3 ]; then
|
||||||
|
echo "Transient dependency download/build failure, retrying after backoff"
|
||||||
|
sleep $((attempt * 20))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
- name: Configure linux bridge host build
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cmake -S . -B build -G "Ninja Multi-Config" -DORCA_TOOLS=ON
|
||||||
|
|
||||||
|
- name: Build linux host runtime
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cmake --build build --config Release --target pjarczak_bambu_linux_host
|
||||||
|
bash tools/pjarczak_bambu_linux_host/package_linux_host_runtime.sh build
|
||||||
|
tar -czvf linux_host_runtime_${{ github.sha }}.tar.gz -C tools/pjarczak_bambu_linux_host/runtime linux-x86_64
|
||||||
|
|
||||||
|
- name: Upload linux host runtime artifact
|
||||||
|
uses: actions/upload-artifact@v7
|
||||||
|
with:
|
||||||
|
name: linux_host_runtime_macos_${{ github.sha }}
|
||||||
|
path: ./linux_host_runtime_${{ github.sha }}.tar.gz
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
build_macos_arm64:
|
||||||
|
name: Build macOS arm64
|
||||||
|
runs-on: macos-14
|
||||||
|
needs: prepare_linux_bridge_runtime
|
||||||
|
env:
|
||||||
|
ORCA_UPDATER_SIG_KEY: ${{ secrets.ORCA_UPDATER_SIG_KEY }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
lfs: 'false'
|
||||||
|
|
||||||
|
- uses: lukka/get-cmake@latest
|
||||||
|
with:
|
||||||
|
cmakeVersion: "~4.3.0"
|
||||||
|
useLocalCache: true
|
||||||
|
useCloudCache: true
|
||||||
|
|
||||||
|
- name: Download linux host runtime artifact
|
||||||
|
uses: actions/download-artifact@v8
|
||||||
|
with:
|
||||||
|
name: linux_host_runtime_macos_${{ github.sha }}
|
||||||
|
path: ${{ github.workspace }}/linux_host_runtime_artifact
|
||||||
|
|
||||||
|
- name: Extract linux host runtime artifact on macOS arm64
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p "$GITHUB_WORKSPACE/tools/pjarczak_bambu_linux_host/runtime"
|
||||||
|
tar -xzf "$GITHUB_WORKSPACE/linux_host_runtime_artifact/linux_host_runtime_${{ github.sha }}.tar.gz" -C "$GITHUB_WORKSPACE/tools/pjarczak_bambu_linux_host/runtime"
|
||||||
|
|
||||||
|
- name: Install mac tools
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
brew install automake texinfo libtool
|
||||||
|
brew list
|
||||||
|
mkdir -p "$GITHUB_WORKSPACE/deps/build/arm64"
|
||||||
|
|
||||||
|
- name: Build macOS arm64 deps
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
./build_release_macos.sh -dx -1 -a arm64 -t 11.3
|
||||||
|
|
||||||
|
- name: Build macOS arm64 app bundle
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
./build_release_macos.sh -s -n -x -1 -a arm64 -t 11.3
|
||||||
|
|
||||||
|
- name: Pack macOS arm64 app bundle
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
tar -czvf OrcaSlicer_Mac_bundle_arm64_${{ github.sha }}.tar.gz -C build/arm64 OrcaSlicer
|
||||||
|
|
||||||
|
- name: Upload macOS arm64 app bundle
|
||||||
|
uses: actions/upload-artifact@v7
|
||||||
|
with:
|
||||||
|
name: OrcaSlicer_Mac_bundle_arm64_${{ github.sha }}
|
||||||
|
path: ${{ github.workspace }}/OrcaSlicer_Mac_bundle_arm64_${{ github.sha }}.tar.gz
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
build_macos_x86_64:
|
||||||
|
name: Build macOS x86_64
|
||||||
|
runs-on: macos-14
|
||||||
|
needs: prepare_linux_bridge_runtime
|
||||||
|
env:
|
||||||
|
ORCA_UPDATER_SIG_KEY: ${{ secrets.ORCA_UPDATER_SIG_KEY }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
lfs: 'false'
|
||||||
|
|
||||||
|
- uses: lukka/get-cmake@latest
|
||||||
|
with:
|
||||||
|
cmakeVersion: "~4.3.0"
|
||||||
|
useLocalCache: true
|
||||||
|
useCloudCache: true
|
||||||
|
|
||||||
|
- name: Download linux host runtime artifact
|
||||||
|
uses: actions/download-artifact@v8
|
||||||
|
with:
|
||||||
|
name: linux_host_runtime_macos_${{ github.sha }}
|
||||||
|
path: ${{ github.workspace }}/linux_host_runtime_artifact
|
||||||
|
|
||||||
|
- name: Extract linux host runtime artifact on macOS x86_64
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p "$GITHUB_WORKSPACE/tools/pjarczak_bambu_linux_host/runtime"
|
||||||
|
tar -xzf "$GITHUB_WORKSPACE/linux_host_runtime_artifact/linux_host_runtime_${{ github.sha }}.tar.gz" -C "$GITHUB_WORKSPACE/tools/pjarczak_bambu_linux_host/runtime"
|
||||||
|
|
||||||
|
- name: Install mac tools
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
brew install automake texinfo libtool
|
||||||
|
brew list
|
||||||
|
mkdir -p "$GITHUB_WORKSPACE/deps/build/x86_64"
|
||||||
|
|
||||||
|
- name: Build macOS x86_64 deps
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
./build_release_macos.sh -dx -1 -a x86_64 -t 11.3
|
||||||
|
|
||||||
|
- name: Build macOS x86_64 app bundle
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
./build_release_macos.sh -s -n -x -1 -a x86_64 -t 11.3
|
||||||
|
|
||||||
|
- name: Pack macOS x86_64 app bundle
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
tar -czvf OrcaSlicer_Mac_bundle_x86_64_${{ github.sha }}.tar.gz -C build/x86_64 OrcaSlicer
|
||||||
|
|
||||||
|
- name: Upload macOS x86_64 app bundle
|
||||||
|
uses: actions/upload-artifact@v7
|
||||||
|
with:
|
||||||
|
name: OrcaSlicer_Mac_bundle_x86_64_${{ github.sha }}
|
||||||
|
path: ${{ github.workspace }}/OrcaSlicer_Mac_bundle_x86_64_${{ github.sha }}.tar.gz
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
build_macos_universal:
|
||||||
|
name: Build macOS universal
|
||||||
|
runs-on: macos-14
|
||||||
|
needs:
|
||||||
|
- build_macos_arm64
|
||||||
|
- build_macos_x86_64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
lfs: 'false'
|
||||||
|
|
||||||
|
- uses: lukka/get-cmake@latest
|
||||||
|
with:
|
||||||
|
cmakeVersion: "~4.3.0"
|
||||||
|
useLocalCache: true
|
||||||
|
useCloudCache: true
|
||||||
|
|
||||||
|
- name: Download macOS app bundles
|
||||||
|
uses: actions/download-artifact@v8
|
||||||
|
with:
|
||||||
|
pattern: OrcaSlicer_Mac_bundle_*_${{ github.sha }}
|
||||||
|
path: ${{ github.workspace }}/mac_bundles
|
||||||
|
|
||||||
|
- name: Extract macOS app bundles
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p build/arm64 build/x86_64
|
||||||
|
arm_bundle=$(find "$GITHUB_WORKSPACE/mac_bundles/OrcaSlicer_Mac_bundle_arm64_${{ github.sha }}" -name '*.tar.gz' -print -quit)
|
||||||
|
x86_bundle=$(find "$GITHUB_WORKSPACE/mac_bundles/OrcaSlicer_Mac_bundle_x86_64_${{ github.sha }}" -name '*.tar.gz' -print -quit)
|
||||||
|
tar -xzvf "$arm_bundle" -C "$GITHUB_WORKSPACE/build/arm64"
|
||||||
|
tar -xzvf "$x86_bundle" -C "$GITHUB_WORKSPACE/build/x86_64"
|
||||||
|
|
||||||
|
- name: Build universal mac app bundle
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
./build_release_macos.sh -u -x -1 -a universal -t 11.3
|
||||||
|
|
||||||
|
- name: Create DMG without runtime validation
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p "$GITHUB_WORKSPACE/build/universal/OrcaSlicer_dmg"
|
||||||
|
rm -rf "$GITHUB_WORKSPACE/build/universal/OrcaSlicer_dmg"/*
|
||||||
|
cp -R "$GITHUB_WORKSPACE/build/universal/OrcaSlicer/OrcaSlicer.app" "$GITHUB_WORKSPACE/build/universal/OrcaSlicer_dmg/"
|
||||||
|
ln -sfn /Applications "$GITHUB_WORKSPACE/build/universal/OrcaSlicer_dmg/Applications"
|
||||||
|
ver=$(grep 'set(SoftFever_VERSION' version.inc | cut -d '"' -f2)
|
||||||
|
hdiutil create -volname "OrcaSlicer" -srcfolder "$GITHUB_WORKSPACE/build/universal/OrcaSlicer_dmg" -ov -format UDZO "OrcaSlicer_Mac_universal_V${ver}.dmg"
|
||||||
|
|
||||||
|
- name: Explain skipped hosted runtime validation
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "Hosted macOS runners do not support nested virtualization, so bundled Lima runtime validation is intentionally skipped here."
|
||||||
|
|
||||||
|
- name: Upload macOS universal DMG
|
||||||
|
uses: actions/upload-artifact@v7
|
||||||
|
with:
|
||||||
|
name: OrcaSlicer_Mac_universal_${{ github.sha }}
|
||||||
|
path: ${{ github.workspace }}/OrcaSlicer_Mac_universal_V*.dmg
|
||||||
|
if-no-files-found: error
|
||||||
237
build_windows_bridge.yml
Normal file
237
build_windows_bridge.yml
Normal file
@@ -0,0 +1,237 @@
|
|||||||
|
name: Build Windows with Linux bridge runtime
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
prepare_linux_bridge_runtime:
|
||||||
|
name: Prepare Linux bridge runtime
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
lfs: 'false'
|
||||||
|
|
||||||
|
- uses: lukka/get-cmake@latest
|
||||||
|
with:
|
||||||
|
cmakeVersion: "~4.3.0"
|
||||||
|
useLocalCache: true
|
||||||
|
useCloudCache: true
|
||||||
|
|
||||||
|
- name: Apt-Install Dependencies
|
||||||
|
uses: ./.github/actions/apt-install-deps
|
||||||
|
|
||||||
|
- name: Build Linux deps
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
for attempt in 1 2 3; do
|
||||||
|
echo "Build Linux deps attempt $attempt"
|
||||||
|
if ./build_linux.sh -drlL; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [ "$attempt" -lt 3 ]; then
|
||||||
|
echo "Transient dependency download/build failure, retrying after backoff"
|
||||||
|
sleep $((attempt * 20))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
- name: Configure linux bridge host build
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cmake -S . -B build -G "Ninja Multi-Config" -DORCA_TOOLS=ON
|
||||||
|
|
||||||
|
- name: Build linux host runtime and WSL rootfs
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cmake --build build --config Release --target pjarczak_bambu_linux_host
|
||||||
|
bash tools/pjarczak_bambu_linux_host/package_linux_host_runtime.sh build
|
||||||
|
bash tools/pjarczak_bambu_runtime/rootfs/build_windows_wsl_rootfs.sh tools/pjarczak_bambu_runtime/rootfs/windows-wsl2-rootfs.tar
|
||||||
|
tar -czvf linux_host_runtime_${{ github.sha }}.tar.gz -C tools/pjarczak_bambu_linux_host/runtime linux-x86_64
|
||||||
|
tar -czvf wsl_rootfs_${{ github.sha }}.tar.gz -C tools/pjarczak_bambu_runtime/rootfs windows-wsl2-rootfs.tar
|
||||||
|
|
||||||
|
- name: Show packaged linux bridge runtime files
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
find tools/pjarczak_bambu_linux_host/runtime/linux-x86_64 -maxdepth 1 -type f | sort
|
||||||
|
|
||||||
|
|
||||||
|
- name: Upload linux host runtime artifact
|
||||||
|
uses: actions/upload-artifact@v7
|
||||||
|
with:
|
||||||
|
name: linux_host_runtime_windows_${{ github.sha }}
|
||||||
|
path: ./linux_host_runtime_${{ github.sha }}.tar.gz
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- name: Upload WSL rootfs artifact
|
||||||
|
uses: actions/upload-artifact@v7
|
||||||
|
with:
|
||||||
|
name: wsl_rootfs_${{ github.sha }}
|
||||||
|
path: ./wsl_rootfs_${{ github.sha }}.tar.gz
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
build_windows:
|
||||||
|
name: Build Windows
|
||||||
|
runs-on: windows-latest
|
||||||
|
needs: prepare_linux_bridge_runtime
|
||||||
|
env:
|
||||||
|
ORCA_UPDATER_SIG_KEY: ${{ secrets.ORCA_UPDATER_SIG_KEY }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
lfs: 'false'
|
||||||
|
|
||||||
|
- uses: lukka/get-cmake@latest
|
||||||
|
with:
|
||||||
|
cmakeVersion: "~4.3.0"
|
||||||
|
useLocalCache: true
|
||||||
|
useCloudCache: true
|
||||||
|
|
||||||
|
- name: Get the version and date on Windows
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
$date = Get-Date -Format 'yyyyMMdd'
|
||||||
|
$eventName = "${{ github.event_name }}"
|
||||||
|
$prNumber = "${{ github.event.number }}"
|
||||||
|
|
||||||
|
if ($eventName -eq 'pull_request') {
|
||||||
|
$ver = "PR" + $prNumber
|
||||||
|
} else {
|
||||||
|
$versionContent = Get-Content version.inc -Raw
|
||||||
|
if ($versionContent -match 'set\(SoftFever_VERSION "(.*?)"\)') {
|
||||||
|
$ver = $matches[1]
|
||||||
|
}
|
||||||
|
$ver = "V$ver"
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "ver=$ver" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
|
||||||
|
echo "date=$date" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
|
||||||
|
|
||||||
|
- name: Download linux host runtime artifact
|
||||||
|
uses: actions/download-artifact@v8
|
||||||
|
with:
|
||||||
|
name: linux_host_runtime_windows_${{ github.sha }}
|
||||||
|
path: ${{ github.workspace }}/linux_host_runtime_artifact
|
||||||
|
|
||||||
|
- name: Extract linux host runtime artifact on Windows
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
New-Item -ItemType Directory -Force -Path "$env:GITHUB_WORKSPACE\tools\pjarczak_bambu_linux_host\runtime" | Out-Null
|
||||||
|
tar -xzf "$env:GITHUB_WORKSPACE\linux_host_runtime_artifact\linux_host_runtime_${{ github.sha }}.tar.gz" -C "$env:GITHUB_WORKSPACE\tools\pjarczak_bambu_linux_host\runtime"
|
||||||
|
|
||||||
|
- name: Download WSL rootfs artifact
|
||||||
|
uses: actions/download-artifact@v8
|
||||||
|
with:
|
||||||
|
name: wsl_rootfs_${{ github.sha }}
|
||||||
|
path: ${{ github.workspace }}/wsl_rootfs_artifact
|
||||||
|
|
||||||
|
- name: Extract WSL rootfs artifact on Windows
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
New-Item -ItemType Directory -Force -Path "$env:GITHUB_WORKSPACE\tools\pjarczak_bambu_runtime\rootfs" | Out-Null
|
||||||
|
tar -xzf "$env:GITHUB_WORKSPACE\wsl_rootfs_artifact\wsl_rootfs_${{ github.sha }}.tar.gz" -C "$env:GITHUB_WORKSPACE\tools\pjarczak_bambu_runtime\rootfs"
|
||||||
|
|
||||||
|
- name: setup MSVC
|
||||||
|
uses: microsoft/setup-msbuild@v2
|
||||||
|
|
||||||
|
- name: Install nsis
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
choco install nsis -y
|
||||||
|
|
||||||
|
- name: Build Windows deps
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
env:
|
||||||
|
WindowsSdkDir: 'C:\Program Files (x86)\Windows Kits\10\'
|
||||||
|
WindowsSDKVersion: '10.0.26100.0\'
|
||||||
|
shell: pwsh
|
||||||
|
run: .\build_release_vs.bat deps
|
||||||
|
|
||||||
|
- name: Build slicer Win
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
env:
|
||||||
|
WindowsSdkDir: 'C:\Program Files (x86)\Windows Kits\10\'
|
||||||
|
WindowsSDKVersion: '10.0.26100.0\'
|
||||||
|
shell: pwsh
|
||||||
|
run: .\build_release_vs.bat slicer
|
||||||
|
|
||||||
|
|
||||||
|
- name: Ensure WSL is available for runtime validation
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
$wsl = Join-Path $env:WINDIR 'System32\wsl.exe'
|
||||||
|
if (!(Test-Path $wsl)) { throw 'wsl.exe not found' }
|
||||||
|
|
||||||
|
$ready = $false
|
||||||
|
try {
|
||||||
|
& $wsl --status
|
||||||
|
if ($LASTEXITCODE -eq 0) { $ready = $true }
|
||||||
|
} catch {}
|
||||||
|
|
||||||
|
if (-not $ready) {
|
||||||
|
& $wsl --install --no-distribution
|
||||||
|
if ($LASTEXITCODE -ne 0) { throw 'wsl --install --no-distribution failed' }
|
||||||
|
}
|
||||||
|
|
||||||
|
& $wsl --update
|
||||||
|
if ($LASTEXITCODE -ne 0) { throw 'wsl --update failed' }
|
||||||
|
|
||||||
|
& $wsl --status
|
||||||
|
if ($LASTEXITCODE -ne 0) { throw 'WSL is still not ready after install/update' }
|
||||||
|
|
||||||
|
- name: Show packaged Orca runtime files
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
Get-ChildItem -Force "$env:GITHUB_WORKSPACE\build\OrcaSlicer" | Format-Table Name, Length -AutoSize
|
||||||
|
|
||||||
|
- name: Install bundled WSL2 Orca runtime into live plugins dir
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
& "$env:GITHUB_WORKSPACE\build\OrcaSlicer\install_runtime.ps1" -ReplaceExisting
|
||||||
|
|
||||||
|
- name: Show live Orca plugin dir after installer
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
Get-ChildItem -Force "$env:APPDATA\OrcaSlicer\plugins" | Format-Table Name, Length -AutoSize
|
||||||
|
Write-Host "--- cache dir ---"
|
||||||
|
if (Test-Path "$env:APPDATA\OrcaSlicer\ota\plugins") {
|
||||||
|
Get-ChildItem -Force "$env:APPDATA\OrcaSlicer\ota\plugins" | Format-Table Name, Length -AutoSize
|
||||||
|
}
|
||||||
|
|
||||||
|
- name: Validate live Orca plugin dir bootstrap package
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
& "$env:APPDATA\OrcaSlicer\plugins\verify_runtime.ps1" -PackageDir "$env:APPDATA\OrcaSlicer\plugins" -PluginCacheDir "$env:APPDATA\OrcaSlicer\ota\plugins" -AllowMissingLinuxPlugin
|
||||||
|
|
||||||
|
- name: Create installer Win
|
||||||
|
working-directory: ${{ github.workspace }}/build
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
cpack -G NSIS
|
||||||
|
|
||||||
|
- name: Pack app
|
||||||
|
working-directory: ${{ github.workspace }}/build
|
||||||
|
shell: cmd
|
||||||
|
run: '"C:/Program Files/7-Zip/7z.exe" a -tzip OrcaSlicer_Windows_${{ env.ver }}_portable.zip ${{ github.workspace }}/build/OrcaSlicer'
|
||||||
|
|
||||||
|
- name: Upload artifacts Win portable
|
||||||
|
uses: actions/upload-artifact@v7
|
||||||
|
with:
|
||||||
|
name: OrcaSlicer_Windows_${{ env.ver }}_portable
|
||||||
|
path: ${{ github.workspace }}/build/OrcaSlicer_Windows_${{ env.ver }}_portable.zip
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- name: Upload artifacts Win installer
|
||||||
|
uses: actions/upload-artifact@v7
|
||||||
|
with:
|
||||||
|
name: OrcaSlicer_Windows_${{ env.ver }}_installer
|
||||||
|
path: ${{ github.workspace }}/build/OrcaSlicer*.exe
|
||||||
|
if-no-files-found: error
|
||||||
84
my_build_all.yml
Normal file
84
my_build_all.yml
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
name: My Build All
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: my-build-all-${{ github.event.release.tag_name || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_windows:
|
||||||
|
uses: ./.github/workflows/build_windows_bridge.yml
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
|
build_linux_portable:
|
||||||
|
uses: ./.github/workflows/build_linux_portable.yml
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
|
build_linux_appimage:
|
||||||
|
uses: ./.github/workflows/build_linux_appimage.yml
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
|
build_macos:
|
||||||
|
uses: ./.github/workflows/build_macos_bridge.yml
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
|
publish_release:
|
||||||
|
name: Publish release assets
|
||||||
|
needs:
|
||||||
|
- build_windows
|
||||||
|
- build_linux_portable
|
||||||
|
- build_linux_appimage
|
||||||
|
- build_macos
|
||||||
|
if: ${{ github.event_name == 'push' || github.event_name == 'release' }}
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Download all artifacts
|
||||||
|
uses: actions/download-artifact@v8
|
||||||
|
with:
|
||||||
|
path: release-artifacts
|
||||||
|
|
||||||
|
- name: Flatten release files
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
mkdir -p release-files
|
||||||
|
find release-artifacts -type f -print0 | while IFS= read -r -d '' file; do
|
||||||
|
cp "$file" release-files/"$(basename "$file")"
|
||||||
|
done
|
||||||
|
ls -lah release-files
|
||||||
|
|
||||||
|
- name: Resolve tag
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
EVENT_TAG: ${{ github.event.release.tag_name }}
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
tag="${EVENT_TAG:-${GITHUB_REF_NAME:-}}"
|
||||||
|
if [[ -z "$tag" ]]; then
|
||||||
|
echo "ERROR: tag could not be resolved"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "RELEASE_TAG=$tag" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
|
- name: Create or update GitHub release
|
||||||
|
uses: softprops/action-gh-release@v2
|
||||||
|
with:
|
||||||
|
tag_name: ${{ env.RELEASE_TAG }}
|
||||||
|
generate_release_notes: true
|
||||||
|
overwrite_files: true
|
||||||
|
files: |
|
||||||
|
release-files/*
|
||||||
Reference in New Issue
Block a user