Discussion: Framework for Automating Builds (buildbot etc..)

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
User avatar
Posts: 3914
Joined: Thu Jan 05, 2017 9:03 pm

Discussion: Framework for Automating Builds (buildbot etc..)

Postby Kunda1 » Wed Nov 07, 2018 2:00 pm

This thread is to discuss automating builds.
We can discuss all manner of methods. We can start with Buildbot as this was a dropped agenda due to different reasons from the recent kkremitzki GSOC 2018 (perhaps overly-ambitious? vejmarie going AWOL, not sure the reason. Nevertheless, worthy of revisiting)

The idea behind this would be:
  • Getting the Buildbot tools working on Linux & Windows VMs -- this could mean automated delegated builds from trusted developers on Linux/Windows, so for example Assembly3 branch patched FreeCAD
  • Building debug symbol enabled builds
  • Building flatpak, snap, appImage etc..
  • using hooks to run different tests (spelling, whitespace formatting, code-uniformity etc...)
  • online auto-generating of documentation
  • translation testing
Buildbot: Framework that automates builds
  • Homepage: https://buildbot.net
  • Background:
    wikipedia wrote:Buildbot is a software development continuous integration tool which automates the compile or test cycle required to validate changes to the project code base. It began as a light-weight alternative to the Mozilla project's Tinderbox, and is now used at Mozilla, Chromium, WebKit and many other projects.
  • Infrastructure: Buildbot is written in Python on top of the Twisted libraries.
  • Buildbot documentation
  • Who else uses Buildbot ? Blender, launchapd.net, GNOME, KDE, Python etc... (list of projects using Buildbot)

libvirt: Spawn Virtual Machines of different OSs to test FreeCAD in said environments
  • Background:
    wikipedia wrote:libvirt is an open-source API, daemon and management tool for managing platform virtualization.[3] It can be used to manage KVM, Xen, VMware ESX, QEMU and other virtualization technologies. These APIs are widely used in the orchestration layer of hypervisors in the development of a cloud-based solution.
  • Homepage: https://libvirt.org

Relevant threads:
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features