Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
9c4258d
This commit adds support for multi nozzle printing.
LixNix Jul 7, 2026
0de9b25
fix: allow per-nozzle diameters in the Prepare sidebar (Snapmaker U1)
LixNix Jul 7, 2026
9a90ccb
profiles: express Snapmaker U1 line widths as % of nozzle diameter
LixNix Jul 7, 2026
f2bd029
feat: port mainline Orca "Filament for Features" enhancements
LixNix Jul 7, 2026
43f6d27
profiles: express Snapmaker U1 line widths as % of nozzle diameter
LixNix Jul 7, 2026
28618a0
feat: port per-extruder layer height (multi-nozzle printing)
LixNix Jul 7, 2026
6d21ad7
fix: align fork-specific dispatchers with the ported per-feature fila…
LixNix Jul 7, 2026
a3f490a
fix: allow per-nozzle diameters in the Prepare sidebar (Snapmaker U1)
LixNix Jul 7, 2026
212b7da
Per-extruder preferred layer heights: combining engine, validation an…
LixNix Jul 12, 2026
7b91594
feat: split wall layer heights with optional wall height adjustment
LixNix Jul 13, 2026
3473330
feat: fixed extruder layer height mode
LixNix Jul 17, 2026
f238b80
feat: default thick layer regions to fixed with an 80% tolerance
LixNix Jul 17, 2026
60844f3
fix: bottom detection over combined groups
LixNix Jul 29, 2026
da07e7d
fix: print region-boundary geometry over combined groups reliably
LixNix Jul 31, 2026
6fcda3d
fix: combine internal solid infill to its filament's preferred layer …
LixNix Jul 31, 2026
311679c
fix: combine sparse infill on one grid phase honoring the min layer h…
LixNix Aug 2, 2026
a2d5806
Support material selection for mixed nozzle sizes
LixNix Aug 3, 2026
1552ce8
Translate the multi-nozzle feature strings
LixNix Aug 4, 2026
9ba183b
Translate the support dialog's OK / Cancel buttons
LixNix Aug 4, 2026
a0ec6a5
Support materials for every printer, legacy selectors behind a toggle
LixNix Aug 5, 2026
44b1fc7
Merge pull request #1 from LixNix-Swap-Org/main2
LixNix Aug 5, 2026
9ddd7ca
Merge branch 'main' of Snapmaker/OrcaSlicer into main
LixNix Aug 5, 2026
1ce78cd
Merge branch 'Snapmaker:main' into main
LixNix Aug 18, 2026
4fe0301
Merge per-extruder layer heights and multi-nozzle printing
LixNix Aug 19, 2026
10e508c
Fix crash when right-clicking the build plate
LixNix Aug 19, 2026
9849cb8
Harden GUI paths against crashes found by code audit
LixNix Aug 19, 2026
bbea4d6
Merge branch 'orca-2.5-sync' into orca-2.5-per-extruder-layer-height
LixNix Aug 31, 2026
6e246c4
Merge branch 'orca-2.5-sync' into orca-2.5-per-extruder-layer-height
LixNix Aug 31, 2026
73614e8
Merge branch 'orca-2.5-sync' into orca-2.5-per-extruder-layer-height
LixNix Aug 31, 2026
7b452ac
Merge branch 'orca-2.5-sync' into orca-2.5-per-extruder-layer-height
LixNix Aug 31, 2026
ba72eec
Merge branch 'orca-2.5-sync' into orca-2.5-per-extruder-layer-height
LixNix Aug 31, 2026
cadc14b
Merge branch 'orca-2.5-sync' into orca-2.5-per-extruder-layer-height
LixNix Aug 31, 2026
139259c
profiles: express remaining Snapmaker U1 line widths as % of nozzle d…
LixNix Aug 31, 2026
e631e32
Fix CI preset cache packaging paths for the fork's install layout
LixNix Aug 31, 2026
846ae1d
Log the actual preset name for vendor duplicates
LixNix Aug 31, 2026
7b81b34
Merge CI packaging and logging fixes from orca-2.5-sync
LixNix Aug 31, 2026
a6b77d7
Use ASCII dashes in test names so Windows ctest filters match
LixNix Aug 31, 2026
13ac4eb
Ship libsentry with the macOS test bundle and gate the Sentry symbol …
LixNix Aug 31, 2026
7a90cd8
Update Flatpak manifest dependency archives to match current deps
LixNix Aug 31, 2026
f37a99f
Merge orca-2.5-sync
LixNix Aug 31, 2026
92b0ee8
Pin Flatpak wxWidgets to orca-3.3.2 with the deps build options
LixNix Sep 1, 2026
e9266fc
Gate the Windows Sentry symbol upload like the macOS one
LixNix Sep 1, 2026
a95a8c7
Drop lld linker flags from the Flatpak wxWidgets module
LixNix Sep 1, 2026
87efad2
Unify the Sentry symbol upload into one job for all platforms
LixNix Sep 1, 2026
181bfeb
Build the Flatpak with the clang/lld toolchain like the Linux CI
LixNix Sep 1, 2026
b739163
Build Flatpak glu module with -Wno-register under clang
LixNix Sep 1, 2026
ba1fce2
Enable Sentry crash reporting on Linux and ship its symbols
LixNix Sep 1, 2026
b7e5754
Allow independent support layer heights with the prime tower via grid…
LixNix Aug 31, 2026
27cfd9e
Fix layer height limit mapping for default support filament on mixed-…
LixNix Aug 31, 2026
5f68db2
Avoid the Windows near macro as an identifier
LixNix Sep 1, 2026
57bb765
Include boost/nowide/fstream.hpp where its ifstream is used
LixNix Sep 1, 2026
152cee4
Add half and quarter layer height steps for supports under the prime …
LixNix Sep 1, 2026
c7de231
Keep the prime tower on whole slabs with fractional support heights a…
LixNix Sep 1, 2026
31ae9b1
Bridge fractional support layer toolchanges onto full prime tower slabs
LixNix Sep 1, 2026
4ce76b5
Keep fractional support layers and the prime tower consistent in ever…
LixNix Sep 5, 2026
72fa35c
Merge orca-2.5-workflow-sentry
LixNix Sep 5, 2026
f17b791
Merge orca-2.5-support-only
LixNix Sep 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions .github/workflows/build_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,16 +85,20 @@ jobs:
arch: universal
macos-combine-only: true
secrets: inherit
# The macOS dSYM is only produced by the universal combine leg above, so it is
# uploaded here rather than from build_deps.yml (which handles the Windows PDB).
upload_symbols_macos:
name: Upload macOS Debug Symbols to Sentry
needs: build_macos_universal
if: ${{ !cancelled() && needs.build_macos_universal.result == 'success' && !vars.SELF_HOSTED }}
# One Sentry upload for every platform: the macOS dSYM from the universal
# combine leg, the Windows PDB from the x64 build leg and the unstripped
# Linux binaries. upload-dif handles all formats from a single runner.
upload_symbols:
name: Upload Debug Symbols to Sentry
needs: [build_macos_universal, build_windows, build_linux]
# Needs the Sentry org secrets; forks without them skip instead of failing.
if: ${{ !cancelled() && !vars.SELF_HOSTED && (needs.build_macos_universal.result == 'success' || needs.build_windows.result == 'success' || needs.build_linux.result == 'success') && (github.repository_owner == 'Snapmaker' || vars.SENTRY_UPLOAD == '1') }}
uses: ./.github/workflows/sentry_cli.yml
with:
os: macos-14
dsym-artifact-name: dSYM_Mac_${{ needs.build_macos_universal.outputs.release }}
os: ubuntu-latest
pdb-artifact-name: PDB
dsym-artifact-name: ${{ needs.build_macos_universal.result == 'success' && format('dSYM_Mac_{0}', needs.build_macos_universal.outputs.release) || '' }}
linux-symbols-pattern: Linux_symbols_*
release: ${{ needs.build_macos_universal.outputs.release || github.sha }}
secrets: inherit
# One test job per built arch, on the runner that built it.
Expand Down
15 changes: 0 additions & 15 deletions .github/workflows/build_deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -209,18 +209,3 @@ jobs:
os: ${{ inputs.os }}
arch: ${{ inputs.arch }}
secrets: inherit

# Only the Windows x64 leg produces a PDB artifact (see build_orca.yml: "Pack
# PDB"/"Upload artifacts Win PDB" skip arm64). The macOS dSYM is produced by the
# universal *combine* leg, which build_all.yml calls directly rather than through
# this workflow -- build_all.yml's upload_symbols_macos job handles that.
upload_symbols:
name: Upload Debug Symbols to Sentry
needs: [build_orca]
if: ${{ !cancelled() && needs.build_orca.result == 'success' && (startsWith(inputs.os, 'windows') || inputs.os == 'orca-win-server') && inputs.arch != 'arm64' }}
uses: ./.github/workflows/sentry_cli.yml
with:
os: ${{ inputs.os }}
pdb-artifact-name: PDB
release: ${{ needs.build_orca.outputs.release || github.sha }}
secrets: inherit
33 changes: 28 additions & 5 deletions .github/workflows/build_orca.yml
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,9 @@ jobs:
- name: Pack unit tests mac
if: runner.os == 'macOS' && !inputs.macos-combine-only && inputs.arch == 'arm64'
working-directory: ${{ github.workspace }}
run: tar -cvf build_tests.tar build/arm64/tests
# The test binaries load libsentry.dylib through an rpath into the deps
# prefix; ship it at that path so the unit-test runner can resolve it.
run: tar -cvf build_tests.tar build/arm64/tests deps/build/arm64/OrcaSlicer_dep/usr/local/lib/libsentry.dylib

- name: Upload Test Artifact mac
if: runner.os == 'macOS' && !inputs.macos-combine-only && inputs.arch == 'arm64'
Expand All @@ -193,7 +195,7 @@ jobs:
shell: bash
# The bundle was already packed from resources/, so the caches have to be
# installed into it here; the source tree keeps its JSONs for later jobs.
run: ./scripts/build_preset_cache.sh -b build/${{ inputs.arch }} build/${{ inputs.arch }}/OrcaSlicer/OrcaSlicer.app/Contents/Resources/profiles
run: ./scripts/build_preset_cache.sh -b build/${{ inputs.arch }} "build/${{ inputs.arch }}/Snapmaker_Orca/Snapmaker Orca.app/Contents/Resources/profiles"

- name: Pack macOS app bundle ${{ inputs.arch }}
if: runner.os == 'macOS' && !inputs.macos-combine-only
Expand Down Expand Up @@ -461,7 +463,7 @@ jobs:
shell: cmd
# Shipped into both the already-installed tree (portable zip, MSIX) and
# the checkout cpack re-installs from when it builds the NSIS installer.
run: scripts\build_preset_cache.bat --prune-source "%BUILD_DIR%" "resources\profiles" "%BUILD_DIR%\OrcaSlicer\resources\profiles"
run: scripts\build_preset_cache.bat --prune-source "%BUILD_DIR%" "resources\profiles" "%BUILD_DIR%\Snapmaker_Orca\resources\profiles"

- name: Pack unit tests Win
if: runner.os == 'Windows'
Expand Down Expand Up @@ -513,7 +515,7 @@ jobs:
name: Snapmaker_Orca_Windows_${{ env.ver }}${{ env.ARCH_SUFFIX }}
path: ${{ github.workspace }}/${{ env.BUILD_DIR }}/Snapmaker_Orca*.exe

# sentry_cli.yml consumes this artifact name (via build_deps.yml).
# sentry_cli.yml consumes this artifact name (via build_all.yml).
- name: Upload artifacts Win PDB
if: runner.os == 'Windows' && inputs.arch != 'arm64'
uses: actions/upload-artifact@v7
Expand Down Expand Up @@ -583,6 +585,27 @@ jobs:
chmod +x "$appimage"
tar -cvf build_tests.tar build/tests

# The unstripped build-tree binary carries the symtab Sentry needs; the
# AppImage ships the same build (same ELF build-id). Arch subdir keeps the
# two Linux legs from colliding in the unified symbol upload.
- name: Pack Linux symbols
if: runner.os == 'Linux'
shell: bash
run: |
arch=${{ inputs.arch == 'aarch64' && 'aarch64' || 'x86_64' }}
mkdir -p symbols_linux/$arch
cp build/src/Release/snapmaker-orca symbols_linux/$arch/

- name: Upload Linux symbols artifact
if: runner.os == 'Linux'
uses: actions/upload-artifact@v7
with:
name: Linux_symbols_${{ inputs.arch == 'aarch64' && 'aarch64' || 'x86_64' }}
overwrite: true
path: symbols_linux
retention-days: 5
if-no-files-found: error

# Use tar because upload-artifacts won't always preserve directory structure
# and doesn't preserve file permissions
- name: Upload Test Artifact
Expand All @@ -602,7 +625,7 @@ jobs:
# Both were packed from resources/ before the caches existed, so the
# AppImage is unpacked first and the caches shipped into it and into
# the package tree; the source tree keeps its JSONs for later steps.
appimage=$(find build -maxdepth 1 -name "OrcaSlicer_Linux_AppImage*.AppImage" | head -1)
appimage=$(find build -maxdepth 1 -name "Snapmaker_Orca_Linux_AppImage*.AppImage" | head -1)
chmod +x "$appimage"
"$appimage" --appimage-extract
./scripts/build_preset_cache.sh -b build build/package/resources/profiles squashfs-root/resources/profiles
Expand Down
206 changes: 85 additions & 121 deletions .github/workflows/sentry_cli.yml
Original file line number Diff line number Diff line change
@@ -1,169 +1,133 @@
name: Upload Debug Symbols to Sentry

# One upload for every platform: sentry-cli's upload-dif is format-agnostic, so
# a single runner ships the Windows PDBs, the macOS dSYMs and the unstripped
# Linux ELF binaries together. Artifact downloads are tolerant -
# whatever symbol artifacts this run produced get uploaded, the rest are
# reported as warnings instead of failing the run.
on:
workflow_call:
inputs:
os:
required: true
type: string
# Steps below gate on `runner.os`, not on this string, so any Windows /
# macOS / Linux runner label (incl. self-hosted orca-*-server) works.
description: "Runner label to run the upload on (e.g. windows-latest, macos-14, ubuntu-24.04)"
description: "Runner label to run the upload on (e.g. ubuntu-24.04)"
pdb-artifact-name:
required: false
type: string
description: "Artifact name for Windows PDB archive (e.g., 'PDB')"
description: "Artifact name for the Windows PDB archive (e.g. 'PDB'); empty skips it"
dsym-artifact-name:
required: false
type: string
description: "Artifact name for macOS dSYM archive (e.g., 'dSYM_Mac_V1.0.0')"
description: "Artifact name for the macOS dSYM archive (e.g. 'dSYM_Mac_V1.0.0'); empty skips it"
linux-symbols-pattern:
required: false
type: string
description: "Artifact name pattern for Linux ELF symbols (e.g. 'Linux_symbols_*'); empty skips it"
release:
required: true
required: false
type: string
description: "Release version/tag"
description: "Release version/tag (informational; upload-dif auto-associates releases)"

jobs:
upload_symbols:
name: Upload Debug Symbols to Sentry
runs-on: ${{ inputs.os }}
steps:
# ==================== Windows ====================
- name: "[Windows] Install sentry-cli via choco"
if: runner.os == 'Windows' && inputs.pdb-artifact-name != ''
shell: pwsh
run: |
choco install sentry-cli -y -y 2>&1 | Out-Null

- name: "[Windows] Download PDB artifact"
if: runner.os == 'Windows' && inputs.pdb-artifact-name != ''
uses: actions/download-artifact@v8
with:
name: ${{ inputs.pdb-artifact-name }}
path: ./symbols

- name: "[Windows] Extract PDB archive"
if: runner.os == 'Windows' && inputs.pdb-artifact-name != ''
shell: pwsh
- name: Install sentry-cli
shell: bash
run: |
$archive = Get-ChildItem -Path ./symbols -Filter "*.7z" -File | Select-Object -First 1
if ($archive) {
Write-Host "Found archive: $($archive.FullName)"
Write-Host "Extracting to ./symbols/extracted ..."
7z x "$($archive.FullName)" -o"./symbols/extracted" -y
if ($LASTEXITCODE -ne 0) {
Write-Host "::error::Failed to extract archive with exit code $LASTEXITCODE"
exit $LASTEXITCODE
}
Write-Host "Extraction complete. Contents:"
Get-ChildItem -Path ./symbols/extracted -Recurse | ForEach-Object { Write-Host " $($_.FullName)" }
} else {
Write-Host "No .7z archive found, assuming PDB files are already extracted"
Get-ChildItem -Path ./symbols -Recurse | ForEach-Object { Write-Host " Found: $($_.FullName)" }
}

- name: "[Windows] Upload PDB to Sentry (sentry-cli)"
if: runner.os == 'Windows' && inputs.pdb-artifact-name != ''
shell: pwsh
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_LOG_LEVEL: debug
run: |
# Determine upload path - prefer extracted folder if it exists
$uploadPath = "./symbols"
if (Test-Path "./symbols/extracted") {
$uploadPath = "./symbols/extracted"
}

$pdbFiles = Get-ChildItem -Path $uploadPath -Filter "*.pdb" -File -Recurse
if ($pdbFiles.Count -gt 0) {
Write-Host "Found $($pdbFiles.Count) PDB file(s) to upload from $uploadPath :"
$pdbFiles | ForEach-Object { Write-Host " - $($_.FullName)" }
Write-Host ""
Write-Host "Starting Sentry upload with debug logging..."
sentry-cli.exe --log-level=debug --auth-token $env:SENTRY_AUTH_TOKEN upload-dif --org "${{ secrets.SENTRY_ORG }}" --project "${{ secrets.SENTRY_PROJECT }}" $uploadPath 2>&1 | Out-Host
if ($LASTEXITCODE -ne 0) {
Write-Host "::error::Sentry upload failed with exit code $LASTEXITCODE"
exit $LASTEXITCODE
}
} else {
Write-Host "::error::No PDB files found in $uploadPath"
Get-ChildItem -Path ./symbols -Recurse | ForEach-Object { Write-Host " Found: $($_.FullName)" }
exit 1
}

# ==================== macOS ====================
- name: "[macOS] Install sentry-cli"
if: runner.os == 'macOS' && inputs.dsym-artifact-name != ''
run: |
# Try multiple installation methods for reliability
# Method 1: Official install script (most reliable)
if ! command -v sentry-cli &> /dev/null; then
echo "Installing sentry-cli via official script..."
curl -sL https://sentry.io/get-cli/ | bash || true
fi

# Method 2: npm fallback
if ! command -v sentry-cli &> /dev/null; then
echo "Official script failed, trying npm..."
npm install -g @sentry/cli || true
fi

# Method 3: Direct binary download fallback
if ! command -v sentry-cli &> /dev/null; then
echo "npm failed, downloading binary directly..."
SENTRY_CLI_VERSION=$(curl -s https://api.github.com/repos/getsentry/sentry-cli/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
curl -sL "https://github.com/getsentry/sentry-cli/releases/download/${SENTRY_CLI_VERSION}/sentry-cli-Darwin-universal" -o /usr/local/bin/sentry-cli
chmod +x /usr/local/bin/sentry-cli
fi

# Verify installation
if command -v sentry-cli &> /dev/null; then
echo "sentry-cli installed successfully:"
sentry-cli --version
else
echo "::error::Failed to install sentry-cli via all methods"
echo "::error::Failed to install sentry-cli"
exit 1
fi

- name: "[macOS] Download dSYM artifact"
if: runner.os == 'macOS' && inputs.dsym-artifact-name != ''
- name: Download Windows PDB artifact
id: dl_pdb
if: inputs.pdb-artifact-name != ''
continue-on-error: true
uses: actions/download-artifact@v8
with:
name: ${{ inputs.pdb-artifact-name }}
path: ./symbols/windows

- name: Download macOS dSYM artifact
id: dl_dsym
if: inputs.dsym-artifact-name != ''
continue-on-error: true
uses: actions/download-artifact@v8
with:
name: ${{ inputs.dsym-artifact-name }}
path: ./symbols
path: ./symbols/macos

- name: "[macOS] Upload dSYM to Sentry (sentry-cli)"
if: runner.os == 'macOS' && inputs.dsym-artifact-name != ''
- name: Download Linux symbols artifacts
id: dl_linux
if: inputs.linux-symbols-pattern != ''
continue-on-error: true
uses: actions/download-artifact@v8
with:
pattern: ${{ inputs.linux-symbols-pattern }}
merge-multiple: true
path: ./symbols/linux

- name: Extract archives
if: steps.dl_pdb.outcome == 'success' || steps.dl_dsym.outcome == 'success' || steps.dl_linux.outcome == 'success'
shell: bash
run: |
# The Windows PDBs ship as a .7z inside the artifact.
shopt -s nullglob globstar
for archive in ./symbols/**/*.7z; do
echo "Extracting $archive ..."
dir="$(dirname "$archive")/extracted"
if command -v 7z &> /dev/null; then
7z x "$archive" -o"$dir" -y
else
7zz x "$archive" -o"$dir" -y
fi
rm -f "$archive"
done

- name: Upload debug symbols to Sentry
if: steps.dl_pdb.outcome == 'success' || steps.dl_dsym.outcome == 'success' || steps.dl_linux.outcome == 'success'
shell: bash
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_LOG_LEVEL: debug
run: |
echo "Checking for dSYM files in ./symbols..."
find ./symbols -name "*.dSYM" -type d | while read dsym; do
echo "Found dSYM: $dsym"
done

dsymCount=$(find ./symbols -name "*.dSYM" -type d | wc -l | tr -d ' ')
if [ "$dsymCount" -gt 0 ]; then
echo "Found $dsymCount dSYM file(s) to upload from ./symbols:"
find ./symbols -name "*.dSYM" -type d | while read dsym; do
echo " - $dsym"
done
echo ""
echo "Starting Sentry upload with debug logging..."
# upload-dif does not support --release flag, it auto-associates with releases
sentry-cli --log-level=debug --auth-token "$SENTRY_AUTH_TOKEN" upload-dif --org "${{ secrets.SENTRY_ORG }}" --project "${{ secrets.SENTRY_PROJECT }}" ./symbols
UPLOAD_EXIT_CODE=$?
if [ $UPLOAD_EXIT_CODE -ne 0 ]; then
echo "::error::Sentry upload failed with exit code $UPLOAD_EXIT_CODE"
exit 1
fi
else
echo "::error::No dSYM files found in ./symbols"
echo "Contents of ./symbols:"
find ./symbols -type f -o -type d | head -20
if [ "${{ steps.dl_pdb.outcome }}" = "failure" ]; then
echo "::warning::PDB artifact '${{ inputs.pdb-artifact-name }}' could not be downloaded; uploading without Windows symbols"
fi
if [ "${{ steps.dl_dsym.outcome }}" = "failure" ]; then
echo "::warning::dSYM artifact '${{ inputs.dsym-artifact-name }}' could not be downloaded; uploading without macOS symbols"
fi
if [ "${{ steps.dl_linux.outcome }}" = "failure" ]; then
echo "::warning::Linux symbol artifacts '${{ inputs.linux-symbols-pattern }}' could not be downloaded; uploading without Linux symbols"
fi
pdb_count=$(find ./symbols -name "*.pdb" -type f | wc -l | tr -d ' ')
dsym_count=$(find ./symbols -name "*.dSYM" -type d | wc -l | tr -d ' ')
elf_count=$(find ./symbols/linux -type f 2>/dev/null | wc -l | tr -d ' ')
echo "Found $pdb_count PDB file(s), $dsym_count dSYM bundle(s), $elf_count Linux binary/binaries:"
find ./symbols -name "*.pdb" -type f -o -name "*.dSYM" -type d -o -path "./symbols/linux/*" -type f
if [ "$pdb_count" -eq 0 ] && [ "$dsym_count" -eq 0 ] && [ "$elf_count" -eq 0 ]; then
echo "::error::Symbol artifacts downloaded but contained no PDB, dSYM or ELF files"
find ./symbols | head -40
exit 1
fi
# upload-dif does not support --release; it auto-associates with releases
sentry-cli --log-level=debug --auth-token "$SENTRY_AUTH_TOKEN" upload-dif \
--org "${{ secrets.SENTRY_ORG }}" --project "${{ secrets.SENTRY_PROJECT }}" ./symbols

# ==================== Linux ====================

- name: Nothing to upload
if: steps.dl_pdb.outcome != 'success' && steps.dl_dsym.outcome != 'success' && steps.dl_linux.outcome != 'success'
shell: bash
run: echo "::warning::No symbol artifacts were available in this run; nothing uploaded to Sentry"
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,9 @@ option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 1)
option(SLIC3R_MSVC_PDB "Generate PDB files on MSVC in Release mode" 1)
option(SLIC3R_ASAN "Enable ASan on Clang and GCC" 0)

# Sentry crash reporting - enabled only on Windows/macOS by default
if (WIN32 OR APPLE)
# Sentry crash reporting - on by default everywhere except the Flatpak build
# (Flathub distribution stays telemetry-free).
if (WIN32 OR APPLE OR (UNIX AND NOT FLATPAK))
set(SLIC3R_SENTRY_DEFAULT ON)
else()
set(SLIC3R_SENTRY_DEFAULT OFF)
Expand Down
Loading