Windows support / Docker backend
Nobody has claimed this yet.
- Dominant language
- OCaml
- Stars
- 67
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
This is a tracking issue to cover getting OBuilder working with Windows and introducing support for Windows builds into ocaml-ci and opam-repo-ci.
The Idea (as it relates to OBuilder)
The two core components of OBuilder are the Sandbox and the Store, the initial Windows support will use Docker for Windows to provide both. The Sandbox is provided by a running Windows container using either HyperV or Process isolation, and the store is using docker images.
Incomplete list of tasks:
- Docker & Windows prerequisites https://github.com/ocurrent/obuilder/pull/116
(merge-me) Will possibly add more patches. - Add support for Docker/Windows spec https://github.com/ocurrent/obuilder/pull/117
(merge-me) - Docker backend https://github.com/ocurrent/obuilder/pull/75
Needs to debug OBuilder caches implemented as Docker volumes. - Add ocluster support for Windows https://github.com/ocurrent/ocluster/pull/143
- Support Windows builds in ocaml-ci
Waiting on opam-2.2 and OCaml compiler packages for Windows. - Support Windows builds in opam-repo-ci
Waiting on opam-2.2 and OCaml compiler packages for Windows.
Experimental branch using OCaml for Windows at https://github.com/ocurrent/opam-repo-ci/pull/218 - Support Windows builds in opam-health-check
Waiting on opam-2.2 and OCaml compiler packages for Windows.
Experimental branch using OCaml for Windows at https://github.com/ocurrent/opam-health-check/pull/32.
Future work
- Revisit using buildkit on Windows https://github.com/moby/buildkit
Sadly not available on Windows: https://github.com/microsoft/Windows-Containers/issues/34. - Investigate using HCS and runHCS tooling https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/containerd.
- Investigate using zfs on Windows or NTFS native snapshot support as the Store.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the unchecked Windows-build tasks in ocaml-ci, opam-repo-ci, and opam-health-check, then review the referenced experimental pull requests and the dependency on opam-2.2 and Windows compiler packages. Done means the relevant CI and health-check projects can execute Windows builds through the OBuilder Docker backend.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, ocaml
- Domain
- build-system, infrastructure, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100