Commit graph

48 commits

Author SHA1 Message Date
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
bcb0387e0e
Fix Github action syntax error (#11227)
Fix syntax error in c106350143
2025-11-01 20:36:28 +08:00
coryrc
c106350143
Cancel root jobs (#11192)
Maybe this will help cancel happen faster.
2025-11-01 20:24:35 +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
e3f049829b Revert "Add a once-daily Build All which skips caches (#10731)"
Some checks are pending
Build all / Build All (push) Waiting to run
Build all / Flatpak (push) Waiting to run
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)
Some checks are pending
Build all / Build All (push) Waiting to run
Build all / Flatpak (push) Waiting to run
* 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)
Some checks are pending
Build all / Build All (push) Waiting to run
Build all / Flatpak (push) Waiting to run
* 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)
Some checks failed
Build all / Build All (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Publish docs to Wiki / Publish docs to Wiki (push) Has been cancelled
* 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)
Some checks are pending
Build all / Build All (push) Waiting to run
Build all / Flatpak (push) Waiting to run
Publish docs to Wiki / Publish docs to Wiki (push) Waiting to run
* 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
SoftFever
002125fbe4 Revert "Revert "Some flatpak fixing (#5510)""
This reverts commit e29cba2eff.
2024-07-16 22:39:43 +08:00
SoftFever
e29cba2eff Revert "Some flatpak fixing (#5510)"
This reverts commit 657954901f.
2024-07-11 20:27:45 +08:00
Aidan
657954901f
Some flatpak fixing (#5510)
* Use fixed commit for wxwidgets

* disable cache

* Fix imports

* revert some build stuff

* fix python builds

* Don't build OCCT docs, a constexpr borks flatpak

* fix thread import

* Fix import

* Fix import again

* remove git commit

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-07-11 00:07:55 +08:00
ElectricalBoy
0b6fc3d389
CI: Build with ubuntu-24.04 (#5919)
* CI: Build with ubuntu-24.04

* Use apt-get in ubuntu-24.04

* Fix step name

* Use alternate approach for detecting libwebkit2gtk version

* CI: Install libfuse2 in ubuntu-24.04

* Reduce repetitive code in workflows

Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com>

* CI: Install libfuse2

Runtime dependency for AppImage

* Fix filenames for nightly deployment

* Properly nest conditional

---------

Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com>
2024-07-01 23:44:49 +08:00
SoftFever
7e85eb0d7d
Upgrade Mac CI/CD to macos-14 (#5856) 2024-06-25 23:24:39 +08:00
SoftFever
276e03683f disable flatpak CI for now 2024-06-04 18:32:29 +08:00
Aidan
17fec83e5b
Flatpak build (#4175)
* Initial commit for the builder

* fix wx, use hack to install into /app

* add some workarounds for /usr/local

* fix up rest of paths

* attempt to fix wxwebview undef

* figure out why wxwidgets isnt getting its patches applied

* do "proper" patching of wxwidgets

* Flip the flag

* actually append the /usr/local

* restrict package finding to flatpak only

* Update the destdir stuff for mpfr, gmp

* Transfer over all the _destdir, again

* update patch command for all other plats

* initial ci check

* what even happened

* clear ci image

* I doubt this will do anything

* do cleanup after running each step

* remove build objects for flatpak ci

* compress debug info

* Fix MacOS build

* Try saving space after building deps

* No debug info for now

* Do debug info, use thin static archives

* use BSD flag, not --thin

* try building with lto

* Use release, no debug info

* remove lto

* Revert the last 5 commits

* It might require write perms

* Revert "It might require write perms"

This reverts commit 44cec58a57.

* Import fixes for merge

* remove some patch stuff

* the worst hack!

* remove uneeded patches

* Initial commit for the builder

* note to self, go back to regular wx

* attempt to fix wxwebview undef

* do "proper" patching of wxwidgets

* update patch command for all other plats

* what even happened

* -ldep_name-NOTFOUND is still here

* concat patches

* Build wx with flatpak

* more wx shenatigans

* fix a missing import

* build wx with proper flags

* fix imports and libs

* trigger ci

* try fixing mac and windows ci

* remove duplicate definition of freetype

* curl may not have openssl for a dep

* has openssl been found?

* force building

* build images on apple

* cleanup for review

* cleanup cmake files

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-25 09:11:19 +08:00
SoftFever
fbcf1fe08e trigger build for changes in build script 2024-04-10 11:31:47 +08:00
SoftFever
98d8b010c4 downgrade to macos-12 as there are not many macos-13 runner instances availble yet 2023-12-27 17:01:12 +08:00
SoftFever
63351c01da upgrade to macos 13 (#3289)
brew uninstall --ignore-dependencies zstd
Use local curl
remove brew/macport dependency
2023-12-27 17:01:12 +08:00
SoftFever
2f3ec2ab7d
Build release branches (#2941)
update cicd to build release branches
2023-11-30 23:58:52 +08:00
SoftFever
d7453aa20f Fix CICD: failed to sign Mac build 1. upload PDB 2023-11-19 11:23:36 +08:00
Ocraftyone
cbb7c3381c
Rework Github Build Actions (#2566)
update workflows from dev branch

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-11-18 15:30:06 +08:00