Commit Graph

63 Commits

Author SHA1 Message Date
coryrc
52c2a85d28 Fix tests (#10906)
* Get libslic3r tests closer to passing

I can't get geometry tests to do anything useful. I've added extra
output, but it hasn't helped me figure out why they don't work
yet. That's also probably the last broken 3mf test doesn't work.

The config tests were mostly broken because of config name changes.

The placeholder_parser tests have some things that may-or-may-not
still apply to Orca.

* Vendor a 3.x version of Catch2

Everything is surely broken at this point.

* Allow building tests separately from Orca with build_linux.sh

* Remove unnecessary log message screwing up ctest

Same solution as Prusaslicer

* Make 2 TriangleMesh methods const

Since they can be.

* Move method comment to the header where it belongsc

* Add indirectly-included header directly

Transform3d IIRC

* libslic3r tests converted to Catch2 v3

Still has 3 failing tests, but builds and runs.

* Disable 2D convex hull test and comment what I've learned

Not sure the best way to solve this yet.

* Add diff compare method for DynamicConfig

Help the unit test report errors better.

* Perl no longer used, remove comment line

* Clang-format Config.?pp

So difficult to work with ATM

* Remove cpp17 unit tests

Who gives a shit

* Don't need explicit "example" test

We have lots of tests to serve as examples.

* Leave breadcrumb to enable sla_print tests

* Fix serialization of DynamicConfig

Add comments to test, because these code paths might not be even used
anymore.

* Update run_unit_tests to run all the tests

By the time I'm done with the PR all tests will either excluded by
default or passing, so just do all.

* Update how-to-test now that build_linux.sh builds tests separately

* Update cmake regenerate instructions

Read this online; hopefully works.

* Enable slic3rutils test with Catch2 v3

* Port libnest2d and fff_print to Catch2 v3

They build. Many failing.

* Add slightly more info to Objects not fit on bed exception

* Disable failing fff_print tests from running

They're mostly failing for "objects don't fit on bed" for an
infinite-sized bed. Given infinite bed is probably only used in tests,
it probably was incidentally broken long ago.

* Must checkout tests directory in GH Actions

So we get the test data

* Missed a failing fff_print test

* Disable (most/all) broken libnest2d tests

Trying all, not checking yet though

* Fix Polygon convex/concave detection tests

Document the implementation too. Reorganize the tests to be cleaner.

* Update the test script to run tests in parallel

* Get sla_print tests to build

Probably not passing

* Don't cause full project rebuild when updating test CMakeLists.txts

* Revert "Clang-format Config.?pp"

This reverts commit 771e4c0ad2.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-08 22:42:11 +08:00
SoftFever
3a7309a1b2 Revert "fix GITHUB_TOKEN permissions in workflows (#11392)"
This reverts commit aa5350a6fe.
Revert "correct oversight in #11392 (#11404)"

This reverts commit fb3b2aadac.
2025-11-21 19:02:42 +08:00
Nanashi
fb3b2aadac correct oversight in #11392 (#11404)
* correct oversight in #11392

https://github.com/OrcaSlicer/OrcaSlicer/pull/11392#issuecomment-3548174739

* correct oversight in #11392
2025-11-21 16:55:38 +08:00
Nanashi
aa5350a6fe fix GITHUB_TOKEN permissions in workflows (#11392)
This pull request updates GitHub Actions workflow files to explicitly
set permissions for certain actions. (fixing the permissions issues)

**Workflow permissions updates:**

* Added explicit `issues: write` permission to the `assign.yml` workflow
to ensure it can modify issues as needed.
* Set `contents: write`, `actions: write`, and `checks: write`
permissions in the `build_all.yml` workflow to allow the workflow to
interact with repository contents, manage actions, and update checks.
2025-11-18 23:22:47 +08:00
Noisyfox
760f66d3d7 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/PrePrintChecker.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-11-18 09:17:13 +08:00
Nanashi
d6936ec32a fix: update Flatpak GitHub Actions reference to the correct repository (#11382) 2025-11-17 20:47:19 +08:00
Nanashi
a24785ee39 Update GNOME runtime and SDK to version 48 (#11384) 2025-11-17 20:46:44 +08:00
Noisyfox
5e2a7fbf35 Merge branch 'main' into dev/p2s-pr 2025-11-17 14:56:09 +08:00
Ian Bassi
4b1ddcdc55 Url update: SoftFever/OrcaSlicer -> OrcaSlicer/OrcaSlicer (#11371)
* SoftFever/OrcaSlicer -> OrcaSlicer/OrcaSlicer

* Revert for deps
2025-11-17 11:17:54 +08:00
Noisyfox
0115cfbdd0 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr 2025-11-07 10:42:06 +08:00
dependabot[bot]
d82f88bee8 Bump actions/upload-artifact from 4 to 5 (#11230)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 11:47:11 +08:00
dependabot[bot]
ccd542b19d Bump actions/download-artifact from 4 to 6 (#11229)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 11:47:04 +08:00
Noisyfox
55f677ef21 Try free more disk spaces for flatpak build 2025-11-06 09:28:52 +08:00
Noisyfox
9a37c45e35 Merge branch 'main' into dev/p2s-pr 2025-11-01 20:37:00 +08:00
Noisyfox
bcb0387e0e Fix Github action syntax error (#11227)
Fix syntax error in c106350143
2025-11-01 20:36:28 +08:00
Noisyfox
ffddfb0559 Merge branch 'main' into dev/p2s-pr 2025-11-01 20:29:55 +08:00
coryrc
c106350143 Cancel root jobs (#11192)
Maybe this will help cancel happen faster.
2025-11-01 20:24:35 +08:00
SoftFever
e349cccdb9 Merge branch 'main' into dev/p2s-pr 2025-10-29 22:28:09 +08:00
coryrc
275f3a7f1e Build and run a test in CI (#10835)
* Actually build tests on Linux and allow RelWithDebInfo

They weren't being built.

Also cleaned up --config flags which enables RelWithDebInfo on Linux,
now that Ninja Multi-Config is used, it's quite trivial.

* Remove obsolete Slic3r Perl tests

The directory doesn't exist, they're already gone.

* Add GH job for running unit tests

* Move unit test execution to script and upload test results

* Don't run scheduled builds on forks

* Only deploy from SoftFever/OrcaSlicer

Will stop failures on forks

* Use artifact instead of cache

* Tweak archive and checkout paths

Keep getting error:

```
/home/runner/work/_temp/902d0a0a-6d23-4fe0-a643-8b5cc4efd25b.sh: line 1: scripts/run_unit_tests.sh: Permission denied
```

That seems to be because I didn't use actions/checkout, the working
directory is never setup correctly? So using checkout to get scripts
directory. Unsure if archive will preserve the `build/tests/` prefix;
will find out soon.

* Use tar to package directory and write results to correct directory

Tar preserves filenames and directory structure

* Use tar -xvf not -xzf

Muscle memory failed me

* Add testing wiki page

* Save test logs on failure and choose correct directory for junit

* Consolidate apt install steps, use for unit tests too, disable non-Linux builds

Temporarily disable non-Linux builds to save time while developing
this.

Cache the apt packages to save some time searching apt and downloading
them again (though I realize this is also downloading, but hopefully
by something closer and faster).

Remove all the redundant packages listed in the workflow and debian
distribution lists.

* Remove apt install steps from workflow

`./build-linux.sh -u` is supposed to install all needed packages, so
it should build without needing anything besides that. If I'm wrong
this commit will be dropped.

* Need composite action checked out locally

* Re-enable non-Linux builds now that it's working

* Skip a deploy and a notarize in forks

They only succeed in the main repo.

* Fix multi-build for non-Release builds: share CONFIG

* Correct build errors in unit tests

Indeterminate method signatures resolved. Updated script to build all
the tests.

* Fix -g vs -e for RelWithDebInfo

* Change CONFIG->BUILD_CONFIG

Missed one in prior commits

* Reduce wasteful redundant build artifact copies

1. Don't copy the artifacts and leave them; make a hard link first;
only make a copy only while creating AppImage.

2. Don't tar up the `package` directory; nothing uses this tar AFAICT

* Fix directory name

* Change jigsaw auth test URLs to httpbin.org

No idea why the basic auth doesn't work, but it doesn't work for
`curl` CLI either. This does.

* Remove force-build

It got reverted at
e3f049829b
for unknown reasons.

* Add timeout for unit tests in GitHub Actions workflow (#11146)

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-10-29 20:56:06 +08:00
SoftFever
bb9c3bb87a Reapply "Add a once-daily Build All which skips caches (#10731)"
This reverts commit e3f049829b.
2025-10-29 20:47:46 +08:00
SoftFever
431cd47182 workaround to trigger build. 2025-10-29 16:47:04 +08:00
SoftFever
e3f049829b Revert "Add a once-daily Build All which skips caches (#10731)"
This reverts commit b56cefc4b7.
2025-10-28 23:51:16 +08:00
SoftFever
d69aaeef3c Update GitHub Actions workflow concurrency group format 2025-10-28 22:19:03 +08:00
Ocraftyone
026499c5b7 Better CMake Defaults (#10294)
* Auto generate CMAKE_PREFIX_PATH/DESTDIR

* Auto set CMAKE_INSTALL_PREFIX

* Always default SLIC3R_STATIC to on

* Only allow one value for CMAKE_OSX_ARCHITECTURES

* Set arch for OpenSSL from CMAKE_OSX_ARCHITECTURES

* Set CMAKE_INSTALL_RPATH from CMAKE_PREFIX_PATH

* Default CMAKE_MACOSX_RPATH and CMAKE_MACOSX_BUNDLE to on

* Auto set BBL_RELEASE_TO_PUBLIC based on build config

* Default to GTK 3

* Fix linux debug build

Update find modules to also look for the debug variant of the libraries

* Set DEP_DEBUG and ORCA_INCLUDE_DEBUG_INFO based on CMAKE_BUILD_TYPE

* Add a fallback value for Windows SDK if the env variables are not set

* Reflect CMake changes in the build scripts

* Add missing line

* Fix auto setting DEP_DEBUG and ORCA_INCLUDE_DEBUG_INFO

* Update dep folder name for linux in GH actions

* Invert dep-folder-name conditions

`''` is considered a falsy value, which was causing the value to always be set to 'OrcaSlicer_dep'

* Properly handle finding the debug version of libnoise

* Convert FindNLopt.cmake to a config mode wrapper

* Use separate build directory for debug builds on Linux

* Move find_package for libnoise

* Cleanup and improve linux build script

- Add dry run
- Add build in RelWithDebInfo
- Add function to print and run commands

* Remove linux destdir deprecation and cleanup

* Fix flatpak build

* Disable fail fast for flatpak builds

* Flatpak improvements

- Build wxWidgets using deps cmake
- Improve handling of space freeing commands while building deps
- Allow cmake to directly download deps
- Set needed flags within cmake instead of the build manifest

* Print clean build commands

* Implement shellcheck recommendations

* Cleanup

* Fix CMakeLists.txt syntax by replacing empty elseif with else statement

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-10-25 22:05:09 +08:00
Noisyfox
abe3cd48f9 Attempt to get the correct PR commit hash (#10900)
* Attempt to get the correct PR commit hash

* Add commit hash to flatpak

* Use given hash if `git_commit_hash` env variable is present
2025-10-11 21:37:46 +08:00
coryrc
b56cefc4b7 Add a once-daily Build All which skips caches (#10731)
* Add a once-daily Build All which skips caches

When an external dependency breaks a build, ensures a record exists of
it happening.

Half of #10404

* `inputs` is plural
2025-09-21 20:08:32 +08:00
dependabot[bot]
719c1687e2 Bump actions/checkout from 4 to 5 (#10605)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 22:51:21 +08:00
Brandon Wees
bd6ccbd451 feat: use "nightly" instead of version code for nightly builds (#10444)
* feat: use "nightly" instead of version code for nightly builds
2025-08-22 22:44:30 +08:00
SoftFever
883607e1d4 Refactor folder (#10475)
Move many third-party components' source codes from the src folder to a new folder called deps_src. The goal is to make the code structure clearer and easier to navigate.
2025-08-22 20:02:26 +08:00
Vasily Khoruzhick
b72e28c116 Various flatpak fixes and improvements (#9527)
* Revert 98be94a729

We carry a wxgtk patch [1] that detects dark theme automatically. If it
doesn't work, it means that either selected Gtk theme is not installed
in flatpak environment, or appropriate xdg-desktop-portal for the DE is not
installed.

Plasma users may need to install org.gtk.Gtk3theme.Adapta

Also see https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Settings.html

[1] 0001-Enable-using-a-dark-theme-when-Gnome-dark-style-is-s.patch

* flatpak: introduce ORCA_SLICER_DARK_THEME to force dark theme

If ORCA_SLICER_DARK_THEME is set, dark theme will be applied regardless
of system settings.

* FIX: occt build failure

Pick up build error fix from upstream:
7236e83dcc

/run/build/BambuStudio/deps/build/dep_OCCT-prefix/src/dep_OCCT/src/StdPrs/StdPrs_BRepFont.cxx: In member function ‘Standard_Boolean StdPrs_BRepFont::renderGlyph(Standard_Utf32Char, TopoDS_Shape&)’:
/run/build/BambuStudio/deps/build/dep_OCCT-prefix/src/dep_OCCT/src/StdPrs/StdPrs_BRepFont.cxx:465:30: error: invalid conversion from ‘unsigned char*’ to ‘const char*’ [-fpermissive]
  465 |     const char* aTags      = &anOutline->tags[aStartIndex];
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                              |
      |                              unsigned char*

* Set policy CMP0167 to NEW

Newer cmake switched to using BoostConfig.cmake shipped with boost-1.70
or later for detecting boost, to preserve old behavior policy CMP0167
was introduced.

Set it to "NEW" to indicate that we want to use .cmake shipped with
boost

* Add OpenSSL tarball link to the manifest

* Add curl zip to the manifest

* flatpak: bump runtime version to 47

Gnome 47 has been released a while ago

---------

Co-authored-by: Bastien Nocera <hadess@hadess.net>
2025-06-15 12:10:51 +08:00
Dipl.-Ing. Raoul Rubien, BSc
6da7fe62a2 Fixes, refactors and enhances Linux build-scripts (#8269)
* fixes and refactors linux build scripts
 - build_linux.sh: fixes wrong AppImage build folder; refactors script; enhances help text
 - harmonizes names: BuildLinux.sh and BuildLinuxImage.sh
 - fixes file permissions: cmake inherits .in-file permission; removes chmod 755 in scripts
 - linux.d/debian: removes false positive error message
 - updates documentation

* enables ANSI-colored output for GNU or Clang

* build_linux.sh: adds -p flag to disable PCH for boosting ccache hit rate

* Allow compilation on distributions based on Ubuntu/Debian (#8625)

* build_linux.sh: takes over changes from BuildLinux.sh

* CMakeLists.txt: removes leftovers, enables ANSI-colored output

* CMakeLists.txt: fixes issue where FORCE_COLORED_OUTPUT was not respected form environment (introduces -C cli arg)

* merges 5df4275: Make it easy to pass extra build args to deps and orca in BuildLinux.sh (#9648)
2025-06-15 00:41:20 +08:00
SoftFever
54a5ac9235 reenable appimage build on ubuntu 24.04 (#9458)
* reenable appimage build on ubuntu 24.04

* update TIFF

* fix build error
2025-04-24 08:13:15 +08:00
cochcoder
45221a2bea Trigger build workflow when flatpak changes are made (#9105)
Trigger build all for changes under the flatpak folder
2025-03-29 16:18:34 +08:00
SoftFever
17d08aec41 deprecate AppImage 2025-03-27 22:55:16 +08:00
SoftFever
658669d103 Universal mac build (#9074)
build universal Mac app
2025-03-27 22:53:37 +08:00
cochcoder
79a5a9b5f8 Flatpak arm64 support (#8033)
* Add qemu for arm builds on flatpak

* Increase timeout-minutes

Mainly meant to retrigger GitHub actions (free GitHub actions runners have a max runtime of 6 hours)

* Change arm64 flatpak to build barebones, rather than through emulation

This new addition is highlighted in GitHub's new blog post: 
https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

* Rename from arm64 to aarch64

* Potental fix for gst-plugins-good compilation

* Initial appimage arm64 builds

* Add inputs.arch variable

* Temporarily completely isolate arm64 and x86 dependencies

* Fix mesa download link and remove temp comments

* Disable libunwind in gst-plugins-good

* Revert changes in build_check_cache.yml

* Disable nls & static options in gst-plugins-good

* Rebase on main

* Re-add flatpak arm build

* Update gst-plugins-good to 1.24.10

This should be the version that received complete arm64 support

* Trying a solution

* Revert "Update gst-plugins-good to 1.24.10"

This reverts commit b416dcd0ae.

* Remove previous build-options

* Try installing the proper arch version of Meson

When building on a local arm64 device it runs properly.

* Remove sudo commands

* Use dnf rather than apt-get

* Try installing meson before the flatpak builder

* Change flatpak runner

This uses a more experimental version of the flatpak runner provided by Flathub

* Temporarily enable artifact upload

* Resolve merge conflicts

* Add arch variable into flatpak name

* Revert to using Gnome 46, rather than Gnome 47

* Add curl dependency

* Revert "Add curl dependency"

This reverts commit 888a0c4a75.

* Clean up

* Define ubuntu version

Seems to be needed due to the arm version still being in public beta
2025-03-10 22:36:50 +08:00
SoftFever
ddf8eca96e upload Flatpak artifact 2025-03-02 09:17:56 +08:00
SoftFever
532a2d36b5 disable flatpak upload (#8306) 2025-02-04 06:36:53 +08:00
dependabot[bot]
f2e65f9d00 Bump WebFreak001/deploy-nightly from 3.1.0 to 3.2.0 (#7958)
Bumps [WebFreak001/deploy-nightly](https://github.com/webfreak001/deploy-nightly) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/webfreak001/deploy-nightly/releases)
- [Commits](https://github.com/webfreak001/deploy-nightly/compare/v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: WebFreak001/deploy-nightly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-22 14:36:57 +08:00
SoftFever
2ea2ab08de Fix flatpak build (#8056) 2025-01-16 00:17:38 +08:00
SoftFever
4d5944090f nightly build 2024-12-31 12:54:16 +08:00
SoftFever
8219b55392 12 2024-12-31 11:28:31 +08:00
SoftFever
efa6fc9b8c 11 2024-12-30 23:35:06 +08:00
SoftFever
ca2db3a60f keep docker 2024-12-11 23:30:55 +08:00
SoftFever
d39799c2c3 free space 2024-12-11 23:29:56 +08:00
SoftFever
f361943443 tweak naming 2024-12-11 22:26:41 +08:00
SoftFever
50089ded0a disable other jobs temporarily 2024-12-08 12:16:05 +08:00
SoftFever
95887780b9 enable cache 2024-12-08 12:15:13 +08:00
Vasily Khoruzhick
7ab985e468 Fix flatpak build (#7283)
* Patch wxWidgets to automatically select dark theme variant (taken from
  Bambu slicer flatpak manifest)
* Drop python script that selected dark theme
* Add a patch to fix libslic3r build
2024-11-12 00:06:23 +08:00
SoftFever
b85c146499 Disable flatpak for now.
The current flatpak workflow in Orca is too troublesome to maintain.
2024-08-03 11:37:50 +08:00