Git Repos & Auto Build
- main machinekit repo
- machinekit documentation
- Protobuf message definitions
- FPGA firmware for SoC/FPGA platforms
- Python machinetalk bindings
- Any kernel modules required for Machinekit
There are quite a few Machinekit git repositories. Here is what is contained where, and how they fit together with the build process.
Below are several references to the Machinekit jenkins server. Not all links might display without credentials; developers in good standing should send Michael Haberler a mail to enable access (linked on your github account).
Posting a pull request against the machinekit repo
Merging a pull request into the machinekit repo
comp and instcomp manpage extraction
This happens in the manpage extraction job.
source for the website, asciidoc format as understood by asciidoctor.
all static documentation resides here.
artefacts from other repos (comp & instcomp manpages, protobuf docs) are imported during the build process:
Posting a pull request against the machinekit-docs repo
Formatting happens in the website preview job. The resulting HTML is uploaded to the https://github.com/machinekit-ci/machinekit-ci.github.io repo which serves the preview.machinekit.io domain.
There is only a single preview website; a followup PR overwrites the previous content of preview.machinekit.io.
Merging a pull request into the machinekit-docs repo
Formatting happens in the website production job. The resulting HTML is uploaded to the https://github.com/machinekit/machinekit.github.io repo which serves the www.machinekit.io domain.
The linkchecker output is www.machinekit.io/linkchecker.html[available here].
these define the format of messages used in several places throughout machinekit, both internally and as an external API
for the format see the excellent Google Protobuf documentation.
note files in this repo are published under the MIT license, other than machinekit which is mostly GPL2 and LGPL. This means usage of the remote API is governed by the former, similar to the Linux kernel which is GPL but the using code can be pretty much any license.
contains VHDL source and configurations for CycloneV and Zynq platforms
firmware packages are built automatically if a PR is merged into this repo
CycloneV packaging step, triggered after successful build
Zynq packaging step, triggered after successful build
Merging a pull request into the mksocfpga repo
These serve as examples how to remotely interact with HAL and LinuxCNC stack.
Kernel modules and drivers are by definition kernel-dependent and therefore not part of the standard build.
Any drivers should be posted against this repo, following the example of the existing ones. A merge against this repo will cause the machinekit-dms package be build; if installed, this package will build any drivers on the target platform against all installed kernel versions.
static html content served by github for domain www.machinekit.io
fed from jenkins.machinekit.io via git push after sucessful format and linkcheck
see jenkins job website-production