Skip to content

Latest commit

 

History

History
55 lines (41 loc) · 4.38 KB

README.md

File metadata and controls

55 lines (41 loc) · 4.38 KB

dkml-workflows-regular-example

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, Twitter URL on Twitter.

Sponsor

OCSF logo Thanks to the OCaml Software Foundation for economic support to the development of Diskuv OCaml.

Status

What Branch/Tag Status
Builds and tests Builds and tests
Static checks Static checks