Fix: CICD

This commit is contained in:
xiaoyeliu
2025-11-17 11:28:30 +08:00
parent 82174ea2d1
commit 67c9fe63d5
13 changed files with 57 additions and 57 deletions

View File

@@ -8,7 +8,7 @@ body:
**Thank you for using Snapmaker Orca and wanting to report a bug.**
Please note that this is not the place to make feature requests or ask for help.
For this, please use the [Feature request](https://github.com/SoftFever/OrcaSlicer/issues/new?assignees=&labels=&projects=&template=feature_request.yml) issue type or you can discuss your idea on our [Discord server](https://discord.gg/P4VE9UY9gJ) with others.
For this, please use the [Feature request](https://github.com/Snapmaker/OrcaSlicer/issues/new?assignees=&labels=&projects=&template=feature_request.yml) issue type or you can discuss your idea on our [Discord server](https://discord.gg/P4VE9UY9gJ) with others.
Before filing, please check if the issue already exists (either open or closed) by using the search bar on the issues page. If it does, comment there. Even if it's closed, we can reopen it based on your comment.
- type: checkboxes

View File

@@ -4,5 +4,5 @@ contact_links:
url: https://discord.gg/P4VE9UY9gJ
about: Please ask and answer support "how do I?"questions here.
- name: Discussion Forum
url: https://github.com/SoftFever/OrcaSlicer/discussions
url: https://github.com/Snapmaker/OrcaSlicer/discussions
about: Please raise ideas and feature suggestions here.

View File

@@ -8,7 +8,7 @@ body:
Thanks for taking the time to fill out this feature request!
If your idea is still at the formulation stage, or you're not sure it would
be useful to many users, you can raise it as a discussion topic under [Ideas](https://github.com/SoftFever/OrcaSlicer/discussions/categories/ideas)
be useful to many users, you can raise it as a discussion topic under [Ideas](https://github.com/Snapmaker/OrcaSlicer/discussions/categories/ideas)
or you can raise it on the [Discord server](https://discord.gg/P4VE9UY9gJ).
- type: checkboxes
attributes:

View File

@@ -109,7 +109,7 @@ jobs:
- uses: flathub-infra/flatpak-github-actions/flatpak-builder@master
with:
bundle: Snapmaker_Orca-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak
manifest-path: scripts/flatpak/io.github.softfever.Snapmaker_Orca.yml
manifest-path: scripts/flatpak/io.github.Snapmaker.Snapmaker_Orca.yml
cache: true
arch: ${{ matrix.variant.arch }}
upload-artifact: false
@@ -119,11 +119,11 @@ jobs:
name: Snapmaker_Orca-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak
path: '/__w/Snapmaker_Orca/Snapmaker_Orca/Snapmaker_Orca-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak'
- name: Deploy Flatpak to nightly release
if: ${{github.ref == 'refs/heads/main'}}
if: ${{github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.0'}}
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/169912305/assets{?name,label}
release_id: 169912305
asset_path: /__w/Snapmaker_Orca/Snapmaker_Orca/Snapmaker_Orca-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak
asset_name: Snapmaker_Orca-Linux-flatpak_nightly_${{ matrix.variant.arch }}.flatpak
asset_content_type: application/octet-stream

View File

@@ -31,13 +31,13 @@ jobs:
- name: Download
working-directory: ${{ github.workspace }}
run: |
curl -LJO https://github.com/SoftFever/Orca_tools/releases/download/1/Snapmaker_Orca_profile_validator
chmod +x ./Snapmaker_Orca_profile_validator
curl -LJO https://github.com/SoftFever/Orca_tools/releases/download/1/OrcaSlicer_profile_validator
chmod +x ./OrcaSlicer_profile_validator
# validate profiles
- name: validate system profiles
run: |
./Snapmaker_Orca_profile_validator -p ${{ github.workspace }}/resources/profiles -l 2
./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -l 2
- name: validate custom presets
working-directory: ${{ github.workspace }}

View File

@@ -1,12 +1,12 @@
# Repository Guidelines
## Project Structure & Module Organization
OrcaSlicers C++17 sources live in `src/`, split by feature modules and platform adapters. User assets, icons, and printer presets are in `resources/`; translations stay in `localization/`. Tests sit in `tests/`, grouped by domain (`libslic3r/`, `sla_print/`, etc.) with fixtures under `tests/data/`. CMake helpers reside in `cmake/`, and longer references in `doc/` and `SoftFever_doc/`. Automation scripts belong in `scripts/` and `tools/`. Treat everything in `deps/` and `deps_src/` as vendored snapshots—do not modify without mirroring upstream tags.
Snapmaker_Orcas C++17 sources live in `src/`, split by feature modules and platform adapters. User assets, icons, and printer presets are in `resources/`; translations stay in `localization/`. Tests sit in `tests/`, grouped by domain (`libslic3r/`, `sla_print/`, etc.) with fixtures under `tests/data/`. CMake helpers reside in `cmake/`, and longer references in `doc/` and `SoftFever_doc/`. Automation scripts belong in `scripts/` and `tools/`. Treat everything in `deps/` and `deps_src/` as vendored snapshots—do not modify without mirroring upstream tags.
## Build, Test, and Development Commands
Use out-of-source builds:
- `cmake -S . -B build -DCMAKE_BUILD_TYPE=Release` configures dependencies and generates build files.
- `cmake --build build --target OrcaSlicer --config Release` compiles the app; add `--parallel` to speed up.
- `cmake --build build --target Snapmaker_Orca --config Release` compiles the app; add `--parallel` to speed up.
- `cmake --build build --target tests` then `ctest --test-dir build --output-on-failure` runs automated suites.
Platform helpers such as `build_linux.sh`, `build_release_macos.sh`, and `build_release_vs2022.bat` wrap the same flow with toolchain flags. Use `build_release_macos.sh -sx` when reproducing macOS build issues, and `scripts/DockerBuild.sh` for reproducible container builds.

View File

@@ -796,7 +796,7 @@ function(Snapmaker_Orca_copy_dlls target config postfix output_dlls)
endfunction()
# libslic3r, OrcaSlicer GUI and the OrcaSlicer executable.
# libslic3r, Snapmaker_Orca GUI and the Snapmaker_Orca executable.
add_subdirectory(deps_src)
add_subdirectory(src)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Snapmaker_Orca_app_gui)

View File

@@ -26,7 +26,7 @@ Visit our GitHub Releases page for the latest stable version of Snapmaker Slicer
**Mac**:
1. Download the DMG for your computer: `arm64` version for Apple Silicon and `x86_64` for Intel CPU.
2. Drag OrcaSlicer.app to Application folder.
2. Drag Snapmaker_Orca.app to Application folder.
3. *If you want to run a build from a PR, you also need to follow the instructions below:*
<details quarantine>
- Option 1 (You only need to do this once. After that the app can be opened normally.):
@@ -34,9 +34,9 @@ Visit our GitHub Releases page for the latest stable version of Snapmaker Slicer
- Step 2: A warning window will pop up, click _Open_
- Option 2:
Execute this command in terminal: `xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app`
Execute this command in terminal: `xattr -dr com.apple.quarantine /Applications/Snapmaker_Orca.app`
```console
softfever@mac:~$ xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app
softfever@mac:~$ xattr -dr com.apple.quarantine /Applications/Snapmaker_Orca.app
```
- Option 3:
- Step 1: open the app, a warning window will pop up
@@ -63,8 +63,8 @@ Visit our GitHub Releases page for the latest stable version of Snapmaker Slicer
- run `build_release_macos.sh`
- To build and debug in Xcode:
- run `Xcode.app`
- open ``build_`arch`/OrcaSlicer.Xcodeproj``
- menu bar: Product => Scheme => OrcaSlicer
- open ``build_`arch`/Snapmaker_Orca.Xcodeproj``
- menu bar: Product => Scheme => Snapmaker_Orca
- menu bar: Product => Scheme => Edit Scheme...
- Run => Info tab => Build Configuration: `RelWithDebInfo`
- Run => Options tab => Document Versions: uncheck `Allow debugging when browsing versions`
@@ -89,16 +89,16 @@ resolution: 0.1
## Some background
Snapmaker Orca is originally forked from OrcaSlicer.
Snapmaker Orca is originally forked from Snapmaker_Orca.
OrcaSlicer is originally forked from Bambu Studio, it was previously known as BambuStudio-SoftFever.
Snapmaker_Orca is originally forked from Bambu Studio, it was previously known as BambuStudio-SoftFever.
Bambu Studio is forked from [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
Orca Slicer incorporates a lot of features from SuperSlicer by @supermerill
Orca Slicer's logo is designed by community member Justin Levine(@freejstnalxndr)
# License
Snapmaker Orca is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on OrcaSlicer by SoftFever
Snapmaker Orca is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on Snapmaker_Orca by SoftFever
Orca Slicer is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on Bambu Studio by BambuLab.

View File

@@ -1,7 +1,7 @@
#!/bin/bash
# OrcaSlicer Flatpak Build Script
# This script builds and packages OrcaSlicer as a Flatpak package locally
# Snapmaker_Orca Flatpak Build Script
# This script builds and packages Snapmaker_Orca as a Flatpak package locally
# Based on the GitHub Actions workflow in .github/workflows/build_all.yml
set -e
@@ -27,7 +27,7 @@ CACHE_DIR=".flatpak-builder"
show_help() {
echo "Usage: $0 [OPTIONS]"
echo ""
echo "Build OrcaSlicer as a Flatpak package"
echo "Build Snapmaker_Orca as a Flatpak package"
echo ""
echo "Options:"
echo " -a, --arch ARCH Target architecture (x86_64, aarch64) [default: $ARCH]"
@@ -107,7 +107,7 @@ if ! [[ "$JOBS" =~ ^[1-9][0-9]*$ ]]; then
exit 1
fi
echo -e "${BLUE}OrcaSlicer Flatpak Build Script${NC}"
echo -e "${BLUE}Snapmaker_Orca Flatpak Build Script${NC}"
echo -e "${BLUE}================================${NC}"
echo -e "Architecture: ${GREEN}$ARCH${NC}"
echo -e "Build directory: ${GREEN}$BUILD_DIR${NC}"
@@ -242,8 +242,8 @@ mkdir -p "$BUILD_DIR"
rm -rf "$BUILD_DIR/build-dir"
# Check if flatpak manifest exists
if [[ ! -f "./scripts/flatpak/io.github.softfever.OrcaSlicer.yml" ]]; then
echo -e "${RED}Error: Flatpak manifest not found at scripts/flatpak/io.github.softfever.OrcaSlicer.yml${NC}"
if [[ ! -f "./scripts/flatpak/io.github.Snapmaker.Snapmaker_Orca.yml" ]]; then
echo -e "${RED}Error: Flatpak manifest not found at scripts/flatpak/io.github.Snapmaker.Snapmaker_Orca.yml${NC}"
exit 1
fi
@@ -252,7 +252,7 @@ echo -e "${YELLOW}Building Flatpak package...${NC}"
echo -e "This may take a while (30+ minutes depending on your system)..."
echo ""
BUNDLE_NAME="OrcaSlicer-Linux-flatpak_${VER}_${ARCH}.flatpak"
BUNDLE_NAME="Snapmaker_Orca-Linux-flatpak_${VER}_${ARCH}.flatpak"
# Remove any existing bundle
rm -f "$BUNDLE_NAME"
@@ -298,7 +298,7 @@ fi
if ! flatpak-builder \
"${BUILDER_ARGS[@]}" \
"$BUILD_DIR/build-dir" \
scripts/flatpak/io.github.softfever.OrcaSlicer.yml; then
scripts/flatpak/io.github.Snapmaker.Snapmaker_Orca.yml; then
echo -e "${RED}Error: flatpak-builder failed${NC}"
echo -e "${YELLOW}Check the build log above for details${NC}"
exit 1
@@ -309,7 +309,7 @@ echo -e "${YELLOW}Creating Flatpak bundle...${NC}"
if ! flatpak build-bundle \
"$BUILD_DIR/repo" \
"$BUNDLE_NAME" \
io.github.softfever.OrcaSlicer \
io.github.Snapmaker.Snapmaker_Orca \
--arch="$ARCH"; then
echo -e "${RED}Error: Failed to create Flatpak bundle${NC}"
exit 1
@@ -327,11 +327,11 @@ echo ""
echo -e "${BLUE}To install the Flatpak:${NC}"
echo -e "flatpak install --user $BUNDLE_NAME"
echo ""
echo -e "${BLUE}To run OrcaSlicer:${NC}"
echo -e "flatpak run io.github.softfever.OrcaSlicer"
echo -e "${BLUE}To run Snapmaker_Orca:${NC}"
echo -e "flatpak run io.github.Snapmaker.Snapmaker_Orca"
echo ""
echo -e "${BLUE}To uninstall:${NC}"
echo -e "flatpak uninstall --user io.github.softfever.OrcaSlicer"
echo -e "flatpak uninstall --user io.github.Snapmaker.Snapmaker_Orca"
echo ""
if [[ "$FORCE_CLEAN" != true ]]; then
echo -e "${BLUE}Cache Management:${NC}"

View File

@@ -18,7 +18,7 @@ else ()
endif ()
# Note: The flatpak build builds wxwidgets separately due to CI size constraints.
# ANY CHANGES MADE IN HERE MUST ALSO BE REFLECTED IN `scripts/flatpak/io.github.SoftFever.OrcaSlicer.yml`.
# ANY CHANGES MADE IN HERE MUST ALSO BE REFLECTED IN `scripts/flatpak/io.github.Snapmaker.Snapmaker_Orca.yml`.
# ** THIS INCLUDES BUILD ARGS. **
# ...if you can find a way around this size limitation, be my guest.

View File

@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>io.github.softfever.OrcaSlicer</id>
<launchable type="desktop-id">io.github.softfever.OrcaSlicer.desktop</launchable>
<id>io.github.softfever.Snapmaker_Orca</id>
<launchable type="desktop-id">io.github.Snapmaker.Snapmaker_Orca.desktop</launchable>
<provides>
<id>io.github.softfever.OrcaSlicer.desktop</id>
<id>io.github.Snapmaker.Snapmaker_Orca.desktop</id>
</provides>
<name>OrcaSlicer</name>
<name>Snapmaker_Orca</name>
<!-- hehe hadess @ppd
... seriously though, thanks -->
<summary>Get even more perfect prints!</summary>
<developer_name>SoftFever</developer_name>
<url type="homepage">https://github.com/SoftFever/OrcaSlicer</url>
<url type="homepage">https://github.com/Snapmaker/OrcaSlicer</url>
<url type="help">https://github.com/SoftFever/OrcaSlicer/wiki</url>
<url type="bugtracker">https://github.com/SoftFever/OrcaSlicer/issues/</url>
<url type="bugtracker">https://github.com/Snapamker/OrcaSlicer/issues/</url>
<url type="donation">https://ko-fi.com/SoftFever</url>
<metadata_license>0BSD</metadata_license>
<project_license>AGPL-3.0-only</project_license>

View File

@@ -1,10 +1,10 @@
app-id: io.github.softfever.OrcaSlicer
app-id: io.github.softfever.Snapmaker_Orca
runtime: org.gnome.Platform
runtime-version: "47"
sdk: org.gnome.Sdk
command: entrypoint
separate-locales: true
rename-icon: OrcaSlicer
rename-icon: Snapmaker_Orca
finish-args:
- --share=ipc
- --socket=x11
@@ -15,8 +15,8 @@ finish-args:
- --filesystem=/run/media
- --filesystem=/media
- --filesystem=/run/spnav.sock:ro
# Allow OrcaSlicer to talk to other instances
- --talk-name=io.github.softfever.OrcaSlicer.InstanceCheck.*
# Allow Snapmaker_Orca to talk to other instances
- --talk-name=io.github.softfever.Snapmaker_Orca.InstanceCheck.*
- --system-talk-name=org.freedesktop.UDisks2
- --env=SPNAV_SOCKET=/run/spnav.sock
@@ -140,13 +140,13 @@ modules:
sources:
# -
# Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* .
# Section bellow fetches all Snapmaker_Orca dependencies before the build process and stores them in external-packages/*/* .
# -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest.
#
# NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/
# NOTE: The url, dest folder name and sha256 must match from Snapmaker_Orca's cmake scripts and folder names in Snapmaker_Orca/deps/
# -
# OrcaSlicer Source Archive
# Snapmaker_Orca Source Archive
- type: dir
path: ../../
@@ -257,7 +257,7 @@ modules:
dest: external-packages/libnoise
sha256: 96ffd6cc47898dd8147aab53d7d1b1911b507d9dbaecd5613ca2649468afd8b6
- name: OrcaSlicer
- name: Snapmaker_Orca
buildsystem: simple
build-commands:
- |
@@ -274,7 +274,7 @@ modules:
-DBBL_RELEASE_TO_PUBLIC=1 \
-DCMAKE_PREFIX_PATH=/app \
-DCMAKE_INSTALL_PREFIX=/app
CXXFLAGS=-std=gnu++20 cmake --build build_flatpak --target OrcaSlicer -j$FLATPAK_BUILDER_N_JOBS
CXXFLAGS=-std=gnu++20 cmake --build build_flatpak --target Snapmaker_Orca -j$FLATPAK_BUILDER_N_JOBS
./scripts/run_gettext.sh
CXXFLAGS=-std=gnu++20 cmake --build build_flatpak --target install -j$FLATPAK_BUILDER_N_JOBS
@@ -284,28 +284,28 @@ modules:
post-install:
- | # Desktop Integration files
install -Dm644 -t /app/share/icons/hicolor/scalable/apps/ resources/images/OrcaSlicer.svg
install -Dm644 -t /app/share/icons/hicolor/scalable/apps/ resources/images/Snapmaker_Orca.svg
install -Dm644 ${FLATPAK_ID}.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml
mv /app/share/applications/OrcaSlicer.desktop /app/share/applications/${FLATPAK_ID}.desktop
mv /app/share/applications/Snapmaker_Orca.desktop /app/share/applications/${FLATPAK_ID}.desktop
desktop-file-edit --set-key=Exec --set-value="entrypoint %U" /app/share/applications/${FLATPAK_ID}.desktop
install -Dm755 entrypoint /app/bin
install -Dm755 umount /app/bin
sources:
# -
# Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* .
# Section bellow fetches all Snapmaker_Orca dependencies before the build process and stores them in external-packages/*/* .
# -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest.
#
# NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/
# NOTE: The url, dest folder name and sha256 must match from Snapmaker_Orca's cmake scripts and folder names in Snapmaker_Orca/deps/
# -
# OrcaSlicer Source Archive
# Snapmaker_Orca Source Archive
- type: dir
path: ../../
# AppData metainfo for Gnome Software & Co.
- type: file
path: io.github.softfever.OrcaSlicer.metainfo.xml
path: io.github.softfever.Snapmaker_Orca.metainfo.xml
# start-up script
- type: file

View File

@@ -9,7 +9,7 @@ flatpak install flathub org.gnome.Platform//46 org.gnome.Sdk//46
##
# in OrcaSlicer folder, run following command to build Orca
# # First time build
# flatpak-builder --state-dir=.flatpak-builder --keep-build-dirs --user --force-clean build-dir scripts/flatpak/io.github.softfever.OrcaSlicer.yml
# flatpak-builder --state-dir=.flatpak-builder --keep-build-dirs --user --force-clean build-dir scripts/flatpak/io.github.Snapmaker.Snapmaker_Orca.yml
# # Subsequent builds (only rebuilding OrcaSlicer)
# flatpak-builder --state-dir=.flatpak-builder --keep-build-dirs --user build-dir scripts/flatpak/io.github.softfever.OrcaSlicer.yml --build-only=OrcaSlicer
# flatpak-builder --state-dir=.flatpak-builder --keep-build-dirs --user build-dir scripts/flatpak/io.github.Snapmaker.Snapmaker_Orca.yml --build-only=OrcaSlicer