feat: add Xcode notarization release flow
This commit is contained in:
parent
2b1f5d47fd
commit
7f415ee09f
3 changed files with 221 additions and 51 deletions
|
|
@ -75,6 +75,16 @@ test('release pipeline requires updater signing, Developer ID and Apple notariza
|
|||
APPLE_PASSWORD: 'provided-at-runtime',
|
||||
APPLE_TEAM_ID: 'TEAM',
|
||||
}))
|
||||
assert.equal(validateCredentialEnvironment({
|
||||
APPLE_SIGNING_IDENTITY: 'Developer ID Application: HoloLake (TEAM)',
|
||||
TAURI_SIGNING_PRIVATE_KEY: 'runtime-secret-material',
|
||||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: 'provided-at-runtime',
|
||||
APPLE_XCODE_ORGANIZER_FLOW: '1',
|
||||
}), 'XCODE_ORGANIZER')
|
||||
assert.throws(() => validateCredentialEnvironment({
|
||||
APPLE_SIGNING_IDENTITY: 'Developer ID Application: HoloLake (TEAM)',
|
||||
APPLE_XCODE_ORGANIZER_FLOW: '1',
|
||||
}), /TAURI_SIGNING_PRIVATE_KEY_OR_PATH/)
|
||||
})
|
||||
|
||||
test('release pipeline materializes a protected updater key path only inside the build environment', () => {
|
||||
|
|
@ -94,6 +104,9 @@ test('release pipeline verifies the updater signature against embedded product t
|
|||
const source = readFileSync(new URL('./release-pipeline.mjs', import.meta.url), 'utf8')
|
||||
assert.match(source, /--example',\s*'verify_updater_signature'/)
|
||||
assert.match(source, /src-tauri\/release-trust\.json/)
|
||||
assert.match(source, /HoloLakeExecutableSha256/)
|
||||
assert.match(source, /NOTARIZED_APP_SOURCE_BINARY_MISMATCH/)
|
||||
assert.match(source, /APPLE_APP_NOTARIZATION_ACCEPTED_AND_STAPLED_DMG_CONTAINS_NOTARIZED_APP/)
|
||||
})
|
||||
|
||||
test('Windows updater keeps signed installation but never claims the macOS rollback boundary', () => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue