Align macOS deployment target between libmongocrypt and the mongodb-client-encryption addon

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Use Case

      As a maintainer, I want one macOS deployment target across the addon and the libmongocrypt build, so that our minimum supported macOS is stated once and matches what we actually ship.

      User Experience

      • n/a, no change to what users receive

      Dependencies

      • Raised by Copilot on PR #137 (NODE-7704), where the macOS build was changed to produce a universal libmongocrypt

      Risks/Unknowns

      • This is a consistency fix, not a behaviour change. Measured on a universal build produced locally with the PR #137 changes:
      • libmongocrypt x86-64 objects carry LC_VERSION_MIN_MACOSX version 10.12, 93 objects
      • libmongocrypt arm64 objects carry LC_BUILD_VERSION minos 11.0, 93 objects, because clang cannot express 10.12 for arm64 and clamps it
      • the shipped addon reports minos 11.0 in both slices, since binding.gyp sets MACOSX_DEPLOYMENT_TARGET to 11
      • So the effective floor is already macOS 11 and the 10.12 value is dead intent. Confirm this holds on the CI runners before treating the change as a no-op
      • We do not document a minimum macOS version anywhere. README only says "MacOS universal binary". Decide whether to state the floor explicitly, and whether it belongs in the compat table
      • DCMAKE_OSX_DEPLOYMENT_TARGET: '10.12' has been in .github/scripts/libmongocrypt.mjs since the repo was created, commit 7681940, so check whether anything downstream depends on the older value before raising it

      Acceptance Criteria

      Implementation Requirements

      • Set CMAKE_OSX_DEPLOYMENT_TARGET in .github/scripts/libmongocrypt.mjs to match MACOSX_DEPLOYMENT_TARGET in binding.gyp, currently 11

      Testing Requirements

      • Both slices of the built addon still report minos 11.0, unchanged from today
      • libmongocrypt objects report 11.0 for both architectures
      • macOS jobs pass, including the x64 prebuild verification job added in NODE-7704

      Documentation Requirements

      • If we decide to state a minimum macOS version, add it to the README

            Assignee:
            Unassigned
            Reporter:
            Sergey Zelenov
            None
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: