| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
There is an available package powershell-7.9.99-preview.19-osx-arm64.pkg on the internal pipeline for other Microsoft devs to smoke test. To me it's so far, so good! |
Sorry, something went wrong.
There was a problem hiding this comment.
This PR adds macOS hardened-runtime signing and Apple notarization steps to the packaging pipelines, introducing an entitlements plist applied during the macOS build and extending the pipeline signing flow to Apple-sign Mach-O binaries and notarize the PKG installer.
Changes:
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| tools/packaging/packaging.psd1 | Exports Get-MacOSPackageIdentifierInfo for use by pipeline scripts. |
| assets/macos-entitlements.plist | Adds entitlements used to enable hardened runtime signing for macOS binaries. |
| .pipelines/templates/mac.yml | Applies entitlements to pwsh during build and adds Apple-signing steps for the signed output. |
| .pipelines/templates/mac-package-build.yml | Verifies Apple signing on binaries, sets BundleId output, signs/notarizes PKG zips, and extracts notarized PKGs. |
Sorry, something went wrong.
|
Before anyone says to remove the key code, that is already public info thanks to us, VS Code, Kiota, Azure Functions, Mono, for some reason Haystack etc.: https://github.com/search?type=code&q=CP-401337-Apple (But in #27354 I finish the started work to migrate all our CP codes to a variable group for "defense in depth" purposes.) |
Sorry, something went wrong.
|
And yes there really are what amounts to five signing steps for this process:
|
Sorry, something went wrong.
We still need to apply the template signing so that Guardian tasks pass and so that script files are signed. After doing what's essentially Windows signing, we sign and harden the binaries for macOS. Then we do the same for the PKG installer, and finally notarize it. The ESRP signing service requires a zip of files for Apple signing at all stages. Now that we can use it via the OneBranch signing task we no longer need the service connection or variable group that was trying to set it up. Notarization requires the BundleId from Get-MacOSPackageIdentifierInfo. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Uses codesign in the macOS build step to apply entitlements from a plist. This is required for the hardened runtime (which is required for notarization). See: https://learn.microsoft.com/en-us/dotnet/core/install/macos-notarization-issues#default-entitlements Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Back | FazBrowse Home | New Git URL |
PR Summary
Apple notarized installer! Resolves #10874, #27262, #23974, #24088, #19363, #10141, #16467, #12139, #18353, #15203, #4547, #2546, #1881, #19053 etc.
PR Context
We still need to apply the template signing so that Guardian tasks pass and so that script files are signed. After doing what's essentially Windows signing, we sign and harden the binaries for macOS. Then we do the same for the PKG installer, and finally notarize it. The ESRP signing service requires a zip of files for Apple signing at all stages. Now that we can use it via the OneBranch signing task we no longer need the service connection or variable group that was trying to set it up. Notarization requires the BundleId from Get-MacOSPackageIdentifierInfo.
Uses codesign in the macOS build step to apply entitlements from a plist. This is required for the hardened runtime (which is required for notarization).
See: https://learn.microsoft.com/en-us/dotnet/core/install/macos-notarization-issues#default-entitlements
PR Checklist