{"id":18841915,"url":"https://github.com/diskuv/dkml-workflows-regular-example","last_synced_at":"2026-01-30T15:30:13.835Z","repository":{"id":62131774,"uuid":"524209289","full_name":"diskuv/dkml-workflows-regular-example","owner":"diskuv","description":"Example for dkml-workflows for a regular Opam and Dune build workflow","archived":false,"fork":false,"pushed_at":"2024-09-03T22:11:25.000Z","size":351,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"v1","last_synced_at":"2024-12-30T10:49:46.861Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/diskuv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-12T19:56:29.000Z","updated_at":"2022-11-07T21:56:11.000Z","dependencies_parsed_at":"2024-11-08T02:53:17.827Z","dependency_job_id":"1b37e784-2159-4d08-9afa-e4b3dc15b38f","html_url":"https://github.com/diskuv/dkml-workflows-regular-example","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diskuv%2Fdkml-workflows-regular-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diskuv%2Fdkml-workflows-regular-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diskuv%2Fdkml-workflows-regular-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diskuv%2Fdkml-workflows-regular-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diskuv","download_url":"https://codeload.github.com/diskuv/dkml-workflows-regular-example/tar.gz/refs/heads/v1","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239780120,"owners_count":19695734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T02:53:02.248Z","updated_at":"2026-01-30T15:30:13.764Z","avatar_url":"https://github.com/diskuv.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dkml-workflows-regular-example\n\nA \"regular\" example for the [dkml-workflows](https://github.com/diskuv/dkml-workflows#dkml-workflows)\ncollection of GitHub Action, GitLab CI/CD and desktop workflows. DKML helps you\ndistribute native OCaml applications on the most common operating systems.\nIn particular [dkml-workflows] builds:\n* Windows libraries and executables with the traditional Visual Studio compiler, avoiding hard-to-debug runtime issued caused by compiler incompatibilities\n* macOS libraries and executables for both Intel and ARM64 (Apple Silicon) architectures\n* Linux libraries and executables on an ancient \"glibc\" C library, letting you distribute your software to most Linux users\n  while avoiding the alternative approach of [static linking the system C library](https://gavinhoward.com/2021/10/static-linking-considered-harmful-considered-harmful/)\n\nThe full list of examples is:\n\n| Example                                                                                      | Who For                                                                                                                                         |\n| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |\n| [dkml-workflows-monorepo-example](https://github.com/diskuv/dkml-workflows-monorepo-example) | **Not ready for public use yet!**\u003cbr\u003eYou want to cross-compile ARM64 on Mac Intel.\u003cbr\u003eYou are building [Mirage unikernels](https://mirage.io/). |\n| [dkml-workflows-regular-example](https://github.com/diskuv/dkml-workflows-regular-example)   | Everybody else                                                                                                                                  |\n\n\u003e Before using these examples be sure to read the [advantages and disadvantages of setup-dkml][dkml-workflows].\n\u003e One particular limitation is that, as of today, [dkml-workflows] only supports OCaml 4.12.1.\n\nExpect to wait approximately:\n\n| Build Step                                               | First Time | Subsequent Times |\n| -------------------------------------------------------- | ---------- | ---------------- |\n| build / win32-windows_x86                                | `33m`      | `8m`             |\n| build / win32-windows_x86_64                             | `35m`      | `11m`            |\n| build / macos-darwin_all                                 | `26m`      | `6m`             |\n| build / manylinux2014-linux_x86 (CentOS 7, etc.)         | `20m`      | `5m`             |\n| build / manylinux2014-linux_x86_64 (CentOS 7, etc.)      | `16m`      | `5m`             |\n\nYou can see an example workflow at https://github.com/diskuv/dkml-workflows-regular-example/actions/workflows/package.yml\n\n[1] `build/macos-darwin_all` is doing double-duty: it is compiling x86_64 and arm64 systems.\n\nFor news about Diskuv OCaml,\n[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/diskuv.svg?style=social\u0026label=Follow%20%40diskuv)](https://twitter.com/diskuv) on Twitter.\n\n## Sponsor\n\n\u003ca href=\"https://ocaml-sf.org\"\u003e\n\u003cimg align=\"left\" alt=\"OCSF logo\" src=\"https://ocaml-sf.org/assets/ocsf_logo.svg\"/\u003e\n\u003c/a\u003e\nThanks to the \u003ca href=\"https://ocaml-sf.org\"\u003eOCaml Software Foundation\u003c/a\u003e\nfor economic support to the development of Diskuv OCaml.\n\u003cp/\u003e\n\n## Status\n\n| What             | Branch/Tag | Status                                                                                                                                                                                                      |\n| ---------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Builds and tests |            | [![Builds and tests](https://github.com/diskuv/dkml-workflows-regular-example/actions/workflows/build.yml/badge.svg)](https://github.com/diskuv/dkml-workflows-regular-example/actions/workflows/build.yml) |\n| Static checks    |            | [![Static checks](https://github.com/diskuv/dkml-workflows-regular-example/actions/workflows/static.yml/badge.svg)](https://github.com/diskuv/dkml-workflows-regular-example/actions/workflows/static.yml)  |\n\n[dkml-workflows]: https://github.com/diskuv/dkml-workflows#dkml-workflows\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiskuv%2Fdkml-workflows-regular-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiskuv%2Fdkml-workflows-regular-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiskuv%2Fdkml-workflows-regular-example/lists"}