Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ inputs:
APPLE_IDENTITY:
description: Apple identity to use for signing
required: false
skip-codesign-import:
description: >
When 'true', skip importing the Apple Developer ID into the keychain.
Useful for recipes whose binaries require adhoc signing (eg. those
carrying com.apple.security.virtualization / .hypervisor entitlements,
which need either adhoc or a matching provisioning profile to be
accepted by macOS at runtime). Defense-in-depth on top of brewkit's
fix-machos.rb policy. See pkgxdev/pantry#7853.
required: false
default: 'false'

runs:
using: composite
Expand Down Expand Up @@ -38,11 +48,11 @@ runs:
# delete it if it does.
- name: Delete keychain
shell: sh
if: runner.os == 'macOS' && inputs.p12-password && inputs.p12-file-base64
if: runner.os == 'macOS' && inputs.p12-password && inputs.p12-file-base64 && inputs.skip-codesign-import != 'true'
run: security delete-keychain signing_temp.keychain || true

- uses: apple-actions/import-codesign-certs@v6
if: runner.os == 'macOS' && inputs.p12-password && inputs.p12-file-base64
if: runner.os == 'macOS' && inputs.p12-password && inputs.p12-file-base64 && inputs.skip-codesign-import != 'true'
with:
p12-file-base64: ${{ inputs.p12-file-base64 }}
p12-password: ${{ inputs.p12-password }}
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/pkg-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ on:
invalidate-cloudfront:
type: boolean
default: true
skip-codesign-import:
description: >
Skip importing the Apple Developer ID into the keychain.
For recipes whose binaries need adhoc signing (virtualization /
hypervisor entitlements). See pkgxdev/pantry#7853.
type: boolean
default: false
secrets:
APPLE_CERTIFICATE_P12: { required: false }
APPLE_CERTIFICATE_P12_PASSWORD: { required: false }
Expand Down Expand Up @@ -80,6 +87,7 @@ jobs:
p12-file-base64: ${{ secrets.APPLE_CERTIFICATE_P12 }}
p12-password: ${{ secrets.APPLE_CERTIFICATE_P12_PASSWORD }}
APPLE_IDENTITY: ${{ secrets.APPLE_IDENTITY }}
skip-codesign-import: ${{ inputs.skip-codesign-import }}

- uses: pkgxdev/setup@v5
with:
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/pkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,13 @@ on:
invalidate-cloudfront:
type: boolean
default: true
skip-codesign-import:
description: >
Skip importing the Apple Developer ID into the keychain.
For recipes whose binaries need adhoc signing (virtualization /
hypervisor entitlements). See pkgxdev/pantry#7853.
type: boolean
default: false

jobs:
plan:
Expand Down Expand Up @@ -54,4 +61,5 @@ jobs:
tinyname: ${{ matrix.platform.tinyname }}
complain: ${{ inputs.complain }}
invalidate-cloudfront: ${{ inputs.invalidate-cloudfront }}
skip-codesign-import: ${{ inputs.skip-codesign-import }}
secrets: inherit
Loading