CI/CD: Implement weekly builds.

Brings over the functionality in https://github.com/FreeCAD/FreeCAD-Bundle
to build Linux AppImage, macOS .dmg, and Windows 7z releases.

This version also creates a tagged release for each build, creating an
archive of the weekly builds as well as the ability to easily tie each
build to a git commit.  This will make running 'git bisect' easy to
identify sources of regressions.
This commit is contained in:
Jacob Oursland
2025-03-19 16:29:04 -07:00
parent de124a72b5
commit 9b3052cf75
27 changed files with 20362 additions and 36 deletions

View File

@@ -0,0 +1,169 @@
context:
version: "1.1.0dev"
package:
name: freecad
version: "${{ version }}"
source:
path: ../..
use_gitignore: true
build:
number: 0
requirements:
build:
- ccache
- cmake>=3.31.6,<4.0.0
- compilers
- doxygen
- ninja
- noqt5
- python==3.12.9
- qt6-main==6.8.2
- swig
- if: linux and x86_64
then:
- kernel-headers_linux-64
- libdrm-cos7-x86_64
- libselinux-cos7-x86_64
- libsepol-cos7-x86_64
- libspnav
- libx11-common-cos7-x86_64
- libx11-cos7-x86_64
- libxau-cos7-x86_64
- libxcb-cos7-x86_64
- libxdamage-cos7-x86_64
- libxext-cos7-x86_64
- libxfixes-cos7-x86_64
- libxi-cos7-x86_64
- libxi-devel-cos7-x86_64
- libxxf86vm-cos7-x86_64
- mesa-dri-drivers-cos7-x86_64
- mesa-libegl-cos7-x86_64
- mesa-libegl-devel-cos7-x86_64
- mesa-libgl-cos7-x86_64
- mesa-libgl-devel-cos7-x86_64
- pixman-cos7-x86_64
- sed
- sysroot_linux-64
- xorg-x11-server-common-cos7-x86_64
- xorg-x11-server-xvfb-cos7-x86_64
- xorg-xproto
- if: linux and aarch64
then:
- kernel-headers_linux-aarch64
- libdrm-cos7-aarch64
- libselinux-cos7-aarch64
- libsepol-cos7-aarch64
- libspnav
- libx11-common-cos7-aarch64
- libx11-cos7-aarch64
- libxau-cos7-aarch64
- libxcb-cos7-aarch64
- libxdamage-cos7-aarch64
- libxext-cos7-aarch64
- libxfixes-cos7-aarch64
- libxi-cos7-aarch64
- libxi-devel-cos7-aarch64
- libxxf86vm-cos7-aarch64
- mesa-dri-drivers-cos7-aarch64
- mesa-libegl-cos7-aarch64
- mesa-libegl-devel-cos7-aarch64
- mesa-libgl-cos7-aarch64
- mesa-libgl-devel-cos7-aarch64
- pixman-cos7-aarch64
- sed
- sysroot_linux-aarch64
- xorg-x11-server-common-cos7-aarch64
- xorg-x11-server-xvfb-cos7-aarch64
- xorg-xproto
- if: build_platform != target_platform
then:
- cross-python_${{ target_platform }}
host:
- coin3d
- eigen
- fmt
- freetype
- hdf5
- libboost-devel
- matplotlib-base
- noqt5
- numpy
- occt
- pcl
- pivy
- ply
- pybind11
- pyside6
- python==3.12.9
- qt6-main==6.8.2
- six
- smesh
- vtk
- xerces-c
- yaml-cpp
- zlib
- if: windows
then:
- tbb-devel
- if: unix
then:
- sed
- if: linux
then:
- libspnav
- xorg-xproto
- if: osx
then:
- blas * accelerate*
run:
- blas
- blinker
- calculix
- debugpy
- docutils
- gmsh
- graphviz
# - ifcopenshell
- jinja2
- lark
- lxml
- matplotlib-base
- nine
- noqt5
- numpy
- occt
- olefile
- opencamlib
- opencv
- pandas
- pip
- pivy
- ply
- pycollada
- pyside6
- python==3.12.9
- pythonocc-core
- pyyaml
- qt6-main==6.8.2
- requests
- scipy
- sympy
- vtk
- xlutils
- if: linux
then:
- libspnav