Initial support for MacOS Monterey using homebrew#118
Initial support for MacOS Monterey using homebrew#118tmcgilchrist wants to merge 5 commits intoocurrent:masterfrom
Conversation
| `Deprecated | ||
| | `Cygwin v -> win10_docker_status `ServerCore v | ||
| | `Windows (_, v) -> win10_docker_status `Windows v | ||
| | `Macos _ -> `Active `Tier3 (** TODO What does this Tier level mean? Matches Windows Tier3 *) |
There was a problem hiding this comment.
Tier level is used to get a grouping on a set of distributions so they can have different properties:
- Tier 1 will have all the different variants and architectures and should be tested thoroughly
- Tier 2 are less supported but still important distributions to test as extra
- Tier 3 are new or badly supported distributions in opam-repository. Those are usually disabled in ocaml-ci (otherwise it would fail too often) and enabled in opam-repo-ci for example (to ensure its support can get better over time)
There was a problem hiding this comment.
The plan is to support macOS Monterey on x86_64 with a small range of OCaml versions (4.14 and 5.0). That sounds like a Tier2 to me?
In future we would look at supporting Apple Silicon as that is clearly the future for macOS developer tools, but that is planned to come after macOS x86_64 and Windows support is rolled out. We will get more benefit for the effort from hitting macOS and Windows, over an additional architecture that is partially tested on Linux ARM64.
There was a problem hiding this comment.
Either Tier2 or Tier3 is fine for me (the macos support in opam-repo-ci isn't flowless yet)
| @@ | ||
| match os_family with | ||
| | `Linux | `Cygwin -> cmd "bash" | ||
| | `Linux | `Cygwin | `Macos -> cmd "bash" (* TODO Should we use zsh since that is the default now in MacOS? *) |
There was a problem hiding this comment.
I don't think it would change much given this setting is only used for the dockerfile itself not really the underlying setup (which can't really be tested in CI)
avsm
left a comment
There was a problem hiding this comment.
There's no explanation as to what this PR is actually for. There's no upstream support for native macOS in Docker, so what is this actually doing?
Co-authored-by: Kate <kit.ty.kate@disroot.org>
Co-authored-by: Kate <kit.ty.kate@disroot.org>
Co-authored-by: Kate <kit.ty.kate@disroot.org>
Co-authored-by: Kate <kit.ty.kate@disroot.org>
|
@avsm This is relying on the obuilder / ocluster support for running a docker like environment. We are currently using this to submit opam-repo-ci jobs to test macos-homebrew (Monterey). My intention is to add this support into There is a point to be made about no official native docker support on MacOS and this not being usable outside of obuilder. I could move it into another module with clear documentation saying only for obuilder. |
|
Thanks @tmcgilchrist. On reflection, I don't think it's appropriate to put this into ocaml-dockerfile, as there isn't a macOS port. It's probably a good idea to expose something slightly higher level for the purposes of OCaml-ci -- you will run across the same problem for a future *BSD support there. Proposals welcome for what that library might look like: it would be nice to be able to express a CI strategy that is portable across obuilder and Docker and other mechanisms in the future as we develop them. |
|
I agree @avsm. Closing this in favour of an obuilder spec based library. |
No description provided.