A "regular" example for the dkml-workflows collection of GitHub Action, GitLab CI/CD and desktop workflows. DKML helps you distribute native OCaml applications on the most common operating systems. In particular dkml-workflows builds:
- Windows libraries and executables with the traditional Visual Studio compiler, avoiding hard-to-debug runtime issued caused by compiler incompatibilities
- macOS libraries and executables for both Intel and ARM64 (Apple Silicon) architectures
- Linux libraries and executables on an ancient "glibc" C library, letting you distribute your software to most Linux users while avoiding the alternative approach of static linking the system C library
The full list of examples is:
Example | Who For |
---|---|
dkml-workflows-monorepo-example | Not ready for public use yet! You want to cross-compile ARM64 on Mac Intel. You are building Mirage unikernels. |
dkml-workflows-regular-example | Everybody else |
Before using these examples be sure to read the advantages and disadvantages of setup-dkml. One particular limitation is that, as of today, dkml-workflows only supports OCaml 4.12.1.
Expect to wait approximately:
Build Step | First Time | Subsequent Times |
---|---|---|
build / win32-windows_x86 | 33m |
8m |
build / win32-windows_x86_64 | 35m |
11m |
build / macos-darwin_all | 26m |
6m |
build / manylinux2014-linux_x86 (CentOS 7, etc.) | 20m |
5m |
build / manylinux2014-linux_x86_64 (CentOS 7, etc.) | 16m |
5m |
You can see an example workflow at https://github.com/diskuv/dkml-workflows-regular-example/actions/workflows/package.yml
[1] build/macos-darwin_all
is doing double-duty: it is compiling x86_64 and arm64 systems.
For news about Diskuv OCaml, on Twitter.
Thanks to the OCaml Software Foundation for economic support to the development of Diskuv OCaml.
What | Branch/Tag | Status |
---|---|---|
Builds and tests | ||
Static checks |