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)
Benfits
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: