actions / runner-images

GitHub Actions runner images
MIT License
9.13k stars 2.82k forks source link

MacOS Build working on 20240405.2 fails testflight submit on 20240415.1 #9707

Closed qhartman closed 2 weeks ago

qhartman commented 2 weeks ago

Description

With no changes to Xcode settings a build that worked on MacOS 13 image 20240405.2 now fails on image 20240415.1. I don't see a way to choose a specific image.

It fails because of how a binary dependency is getting bundled. Tesflight rejects the submission. I presume that there's a default setting in the image that has changed and there's likely some explicit setting we can add to overcome this, but we don't know what it is. We don't have any explicit settings related to this bundle in our project.

Here's the redacted error we get from apple when submitting to testflight:

2024-04-18 10:43:05.241 *** Error: Error uploading 'XXXXXXXX.ipa'.
2024-04-18 10:43:05.241 *** Error: Asset validation failed Invalid bundle structure. The "XXXXXXXXX.app/RealmJS.bundle/RealmJS" binary file is not permitted. Your app cannot contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. For details, visit: https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle (ID: XXXXXXXXXXXXX) (90171)
 {
    NSLocalizedDescription = "Asset validation failed";
    NSLocalizedFailureReason = "Invalid bundle structure. The \U201cXXXXXXXXXX.app/RealmJS.bundle/RealmJS\U201d binary file is not permitted. Your app cannot contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. For details, visit: https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle (ID: XXXXXXXXXXXXX)";
    NSUnderlyingError = "Error Domain=IrisAPI Code=-19241 \"Asset validation failed\" UserInfo={status=409, detail=Invalid bundle structure. The \U201cXXXXXXXXXXXXX.app/RealmJS.bundle/RealmJS\U201d binary file is not permitted. Your app cannot contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. For details, visit: https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle, id=XXXXXXXXXXXXX, code=STATE_ERROR.VALIDATION_ERROR.90171, title=Asset validation failed, NSLocalizedFailureReason=Invalid bundle structure. The \U201cActiveOversightMobile.app/RealmJS.bundle/RealmJS\U201d binary file is not permitted. Your app cannot contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. For details, visit: https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle, NSLocalizedDescription=Asset validation failed}";
    "iris-code" = "STATE_ERROR.VALIDATION_ERROR.90171";
}

Platforms affected

Runner images affected

Image version and build link

20240415.1. This is in a private repo. I'd be happy to walk someone through some extra data collection if it would be helpful.

Is it regression?

20240405.2

Expected behavior

Testflight submission succeeds

Actual behavior

Testflight submission fails because of bundling error.

Repro steps

  1. Start Build
  2. Upon testflight submission step, the action fails with the above error.
qhartman commented 2 weeks ago

Confirmed that this fails the same way with the latest MacOS 14 ARM64 image, 20240415.6

qhartman commented 2 weeks ago

Confirmed that this also fails the same way with the latest MacOS 14 x86 image, 20240414.1

MaksimZhukov commented 2 weeks ago

Hello @qhartman! Thank you for reporting the problem! It is a known issue with RealmJS: https://github.com/realm/realm-js/issues/6624. I am closing the issue. Please monitor progress in the relevant issue.

qhartman commented 2 weeks ago

Thanks for the pointer to the real root cause @MaksimZhukov . Appreciate it!