Commit Graph

45310 Commits

Author SHA1 Message Date
forbes
e02d0db326 Fix .deb bundle: merge built FreeCAD with pixi dependencies
The pixi environment only has dependencies, not FreeCAD itself.
Need to copy both:
1. .pixi/envs/default/* (dependencies: Qt, Python, xerces, etc.)
2. build/release/install/* (FreeCAD binaries and modules)

Also removed the binary filtering that was excluding FreeCAD.
2026-01-28 22:19:36 -06:00
forbes
f424f0e499 Fix .deb build: use fast compression, more aggressive cleanup
- Use dpkg-deb -Zxz -z1 for faster compression (large packages were hanging)
- Remove more unnecessary files: man pages, docs, locales, pkgconfig
- Add progress messages during bundle preparation
- Remove .la, .hpp, .pyo files
2026-01-28 19:58:14 -06:00
forbes
b9d5dbd141 Fix .deb package: bundle full conda environment with all dependencies
- Build workflow now bundles the entire pixi/conda environment for .deb
- This includes all shared libraries (xerces, Qt, Python, etc.)
- Wrapper scripts updated with additional env vars (QT_QPA_PLATFORM_PLUGIN_PATH, XDG_DATA_DIRS, GI_TYPELIB_PATH)
- Wrapper scripts now handle both FreeCAD and freecad binary names
- Removes unnecessary files (headers, cmake, pycache) to reduce size
2026-01-28 18:46:03 -06:00
forbes
c8a103eab7 Fix .deb package: add wrapper scripts for library paths
The bundled binaries need LD_LIBRARY_PATH, PYTHONPATH, and
QT_PLUGIN_PATH set to find their libraries. Replace symlinks
with wrapper scripts that set up the environment before exec.
2026-01-28 18:43:55 -06:00
forbes
d3cc827c67 CI: Switch from Forgejo to GitHub actions mirror
Forgejo mirror at code.forgejo.org was timing out. Using GitHub
directly for checkout and upload-artifact actions.
2026-01-28 17:37:05 -06:00
forbes
7bbb046e8e Fix .deb packaging: version must start with digit
- Fix version conversion for Debian policy compliance
  (e.g., weekly-2025.01.28 -> 0~weekly.2025.01.28)
- Add MIME type registration for .fcstd files
- Add AppStream metainfo for software centers
- Add copyright file (required by Debian policy)
- Improve maintainer scripts with proper case statements
- Expand dependencies in control file (Depends/Recommends/Suggests)
- Add .deb build step to release workflow
- Simplify build workflow to let script handle version conversion
2026-01-28 17:29:09 -06:00
forbes
b256cce74a update to build deb package 2026-01-28 14:49:27 -06:00
forbes
65db9ce93c CI: Remove sudo commands from certificate setup
- Skip system trust store installation (requires sudo)
- Rely on NODE_EXTRA_CA_CERTS for Node.js actions
- Use --cacert for curl verification
2026-01-28 10:01:53 -06:00
forbes
97f6bee3a6 CI: Fix openssl hang by avoiding pipe to head
- Use -subject -dates -noout instead of -text -noout | head -20
- Remove --cacert from curl since cert is now in system store
2026-01-28 09:56:52 -06:00
forbes
0d631b5c91 CI: Add FreeIPA CA certificate trust for artifact uploads
- Download and verify FreeIPA CA cert at job start
- Install cert to system trust store
- Set NODE_EXTRA_CA_CERTS for Node.js actions
- Test SSL connection to Gitea before proceeding
- Restore artifact upload step now that SSL should work
2026-01-28 09:50:45 -06:00
forbes
e92762f8ec CI: Fix ccache directory permissions issue
- Use workspace-relative ccache directory instead of /var/cache
- Remove sudo commands that fail without passwordless sudo
- Ccache persists in parent of workspace directory
2026-01-28 08:49:49 -06:00
forbes
b5cdf8413d CI: Add artifact packaging and upload to build workflow
- Install to custom prefix for clean packaging
- Create versioned tarball with xz compression
- Generate SHA256 checksum
- Upload artifacts with 30-day retention
2026-01-28 07:51:56 -06:00
forbes
af173e24ff CI: Add timeouts to Python tests to prevent hanging 2026-01-27 20:43:41 -06:00
forbes
8a8ee08c68 CI: Use xvfb-run for C++ tests that require display (Qt GUI tests) 2026-01-27 17:14:55 -06:00
forbes
e554244cc8 CI: Use pixi run for ctest command 2026-01-27 16:23:25 -06:00
forbes
c173b764e3 CI: Print test logs directly on failure instead of uploading artifacts 2026-01-27 15:31:36 -06:00
forbes
09a81e9b0e Revert to simple HTTPS cloning for public repos
- Use Forgejo checkout action with HTTPS (no SSH)
- Update submodule URLs from SSH to HTTPS
- All repos are now public, no authentication needed
2026-01-27 14:45:42 -06:00
forbes
5309e5503f Replace checkout action with manual SSH clone
- Bypass SSSD KnownHostsCommand by using custom SSH config
- Set KnownHostsCommand none in SSH config
- Use GIT_SSH_COMMAND with explicit config file
- Manual git clone with --recurse-submodules
2026-01-27 14:38:47 -06:00
forbes
05c1950c0a Use checkout action's ssh-known-hosts parameter
- Fetch host key with ssh-keyscan and pass to checkout action
- Use ssh-known-hosts and ssh-strict parameters to bypass SSSD
- This ensures the checkout action uses our host key, not system KnownHostsCommand
2026-01-27 14:37:23 -06:00
forbes
528ee6c15c Override SSSD KnownHostsCommand in CI SSH config
- Add SSH config to bypass sss_ssh_knownhosts command
- Set StrictHostKeyChecking no for gitea.kindred.internal
- Use local known_hosts file instead of SSSD lookup
2026-01-27 14:36:19 -06:00
forbes
f4d4eecf92 Add SSH known_hosts setup for CI runner
- Run ssh-keyscan before checkout to add gitea.kindred.internal host key
- Fixes 'KnownHostsCommand failed' error during SSH authentication
2026-01-27 14:33:10 -06:00
forbes
c411f11e8b Use SSH deploy key for submodule checkout in CI
- Add ssh-key parameter to checkout action in build.yml and release.yml
- Uses DEPLOY_KEY secret for SSH authentication to internal repos
- Fixes 403 permission errors when cloning mods/silo submodule
2026-01-27 14:28:05 -06:00
forbes
41521ea09a Fix CI workflows for Gitea/Forgejo runner
- Replace GitHub actions with Forgejo equivalents:
  - actions/checkout@v4 -> code.forgejo.org/actions/checkout@v4
  - actions/upload-artifact@v4 -> code.forgejo.org/actions/upload-artifact@v3
- Fixes problem-matcher.json path errors on Gitea runner
- Fixes artifact upload compatibility issues
2026-01-27 14:16:30 -06:00
forbes
0e5998312a Implement Phase 1: Auto-loading for ztools and Silo addons
- Add src/Mod/Create/ module to handle addon loading
- Init.py adds mods/ztools and mods/silo to sys.path at startup
- InitGui.py loads workbenches from addon InitGui.py files
- CMakeLists.txt installs Create module and mods/ directory
- Set ZToolsWorkbench as default startup workbench in preferences
2026-01-27 10:03:12 -06:00
forbes
6c45f0619f Add integration plan for ztools and Silo workbenches
- Define 4-layer architecture (FreeCAD Core, Python API, Create Extensions, Workbenches)
- Plan src/Mod/Create/ module for C++ features (Create::FlipPocket, DatumHelpers)
- Document 6 implementation phases with priorities
- Use Create:: namespace prefix for all Kindred Create features
- Silo server distributed separately
- ztools/Silo versions pinned via git submodules
2026-01-27 09:36:25 -06:00
forbes
929f61aef2 Add ztools and silo as git submodules in mods/
- Create mods/ directory for Kindred Create addon modules
- Add ztools workbench as submodule at mods/ztools
- Add silo parts database as submodule at mods/silo
- Update README with new project structure and submodule instructions
2026-01-27 08:22:53 -06:00
forbes
2a67ca5f11 update build wf 2026-01-26 22:48:22 -06:00
forbes
d5e5cc17e1 update build wf 2026-01-26 21:31:28 -06:00
forbes
cd89610e4e set echo flag for actions 2026-01-26 20:32:48 -06:00
forbes
aae3a87c11 Add build test output 2026-01-26 18:45:57 -06:00
forbes
0e3b024922 add back modern cpu instructions 2026-01-26 15:22:36 -06:00
forbes
cfcea80d36 Use system GCC instead of conda Clang
The conda-forge Clang is built with newer CPU instructions that
cause illegal instruction errors on older CPUs. Override to use
system GCC and remove mold linker flags.
2026-01-26 12:39:10 -06:00
forbes
69689f11be Use standalone node binary instead of apt package
Avoids dependency conflicts on the runner by downloading node
directly from nodejs.org instead of using nodesource apt repo.
2026-01-26 12:32:50 -06:00
forbes
90db886359 Install node on runner for GitHub Actions compatibility
The Gitea runner needs node to execute actions like checkout@v4.
Install node 20.x from nodesource if not already present.
2026-01-26 12:31:18 -06:00
forbes
0760f977d8 Fix Gitea workflows: use git commands instead of node-based actions
The Gitea runner in host mode doesn't have node installed, so we
replace the actions/checkout and actions/upload-artifact with
direct git/bash commands.
2026-01-26 12:24:18 -06:00
forbes
5bb8b0574b Change runner tag 2026-01-26 12:16:55 -06:00
forbes
2434aedfd9 Replace GitHub Actions with Gitea Actions
- Remove all GitHub Actions workflows (21 files)
- Remove GitHub problem matchers
- Add Gitea build workflow (push/PR to main)
- Add Gitea release workflow (version tags)
- Use pixi for dependency management
- Configure ccache for build acceleration
- Use 16 build threads for debian-host runner
- Update .gitignore to allow .gitea/ directory
2026-01-26 12:10:38 -06:00
forbes
316d4f4b52 fix assy joint flip behaviour to not overconstrain on three distance
joints
2026-01-26 06:36:00 -06:00
captain0xff
f2c0f9c86d Gui: Prevent the editing root from getting clipped 2026-01-25 10:46:36 +01:00
Captain
acdc4041fd PartDesign: Added interactive gizmo for draft operation (#27111)
* PartDesign: Add interactive gizmo for draft operation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-01-25 00:00:07 +01:00
sliptonic
09e4d8c059 Merge pull request #24617 from petterreinholdtsen/cam-pre-post-dedup
CAM: Ensure pre-/postamble help text matches active values by avoiding duplication.
2026-01-24 12:03:38 -06:00
Morten Vajhøj
0e6e2f28e8 Measurement: Added support for cylindrical surfaces (#27044)
* Added support for cylindrical surfaces

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed unnessecary sign

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Reverted change

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-01-24 17:12:16 +01:00
PaddleStroke
23d3b4c135 Sketcher: add switch between radius and diameter (#26794) 2026-01-23 21:39:46 +00:00
Petter Reinholdtsen
e155e0a976 CAM: Ensure pre-/postamble help text matches active values by avoiding duplication
Make sure to use the active default values for preamble and postamble in the help text,
and provide the current default values as the default in the add_argument().

The only exception is uccnc_post.py, where the real default value depend on the use of
--no-comments, and sending the default argument to add_argument() would change behaviour.

This change was inspired by the changes done to fix (#20792) in
d84d9c9bd1.
2026-01-23 19:43:16 +01:00
sliptonic
7d1870ab55 Merge pull request #21220 from dbtayl/fix_adaptive_bspline
CAM: Adaptive: Fix bspline processing
2026-01-23 12:17:51 -06:00
sliptonic
ac4e587e33 Merge pull request #26426 from davidgilkaufman/adaptive_fix_small_loops
CAM: Adaptive fix small loops
2026-01-23 12:17:14 -06:00
sliptonic
c962feb1cb Merge pull request #23242 from tarman3/boundary-g0
CAM: DressupBoundary - Fix G0
2026-01-23 12:11:10 -06:00
PaddleStroke
d6c40727f7 Assembly: prevent assembly collapse when editing sketch. (#26956)
* Gui: View provider: isAutoCollapseOnDeactivation

* Update ViewProvider.h

* Update ActiveObjectList.cpp

* Update ViewProviderAssembly.cpp

* Update ActiveObjectList.cpp
2026-01-23 16:01:06 +01:00
Amon Sha
cfa3ae93ef Merge pull request #27077 from amon-sha/fix_sketcher_autoscale_segfault
Sketcher: fix segfault during autoscale
2026-01-23 15:18:25 +01:00
Furgo
21069b6f19 BIM: add regression and functional test for ArchWall's MakeBlock feature (#27002)
Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2026-01-23 11:37:36 +01:00