Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release build scripts for Metal support #50

Merged

Conversation

petr-pokorny-1
Copy link
Contributor

This PR integrates MetalANGLE framework into release build scripts and fixes iOS test app and Benchmark app.

Copy link
Collaborator

@sulewicz sulewicz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@roblabs
Copy link
Collaborator

roblabs commented Mar 26, 2021

Approved and here are my testing results. No changes required to perform archiving and distro on TestFlight, good job @petr-pokorny-1 and I say its ready for you to merge into maplibre:metal-support.


    • Archive & distribute in a private TestFlight
    • Repeat Archiving & TestFlight with and without MetalANGLE. Please see results of archiving at Metal support in iOS #19 (comment)

Archiving test of the iosapp with MapLibre + MetalANGLE

DEVICE TYPE DOWNLOAD SIZE - This is the compressed size of the app downloaded over the air. INSTALL SIZE - This is the amount of disk space the app will take up on the customer's device.
iPhone 12 Pro Max 5047 KB 20712 KB
iPhone 7 Plus 12385 KB 20915 KB

Estimated App Store file sizes and descriptions from TestFlight at App Store Connect

@roblabs roblabs self-requested a review March 26, 2021 00:46
@@ -106,11 +106,17 @@ make xcframework
step "Zipping xcframeworks…"
MAPBOX_ZIP_FILE="Mapbox-${PUBLISH_VERSION}.zip"
(cd ${BINARY_DIRECTORY} && rm -f ${MAPBOX_ZIP_FILE} && zip -yr ${MAPBOX_ZIP_FILE} Mapbox.xcframework)
METAL_ANGLE_ZIP_FILE="MetalANGLE-${PUBLISH_VERSION}.zip"
(cd ${BINARY_DIRECTORY} && rm -f ${METAL_ANGLE_ZIP_FILE} && zip -yr ${METAL_ANGLE_ZIP_FILE} MetalANGLE.xcframework)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version numbers of the binaries are as below, but I think this script pulls the {PUBLISH_VERSION} from the git tags. If we cannot tag the MetalANGLE, then we may be able to use the binaries version as it is on disk.

image

.binaryTarget(
name: "MetalANGLE",
url: "METAL_ANGLE_PACKAGE_URL",
checksum: "METAL_ANGLE_PACKAGE_CHECKSUM")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For future reviewers (assume Petr already knows this)

Please see notes at maplibre/maplibre-gl-native-distribution#5 on how to test locally built *.xcframeworks with SPM.

echo "Creating ${METAL_ANGLE_NAME}.xcframework with args: $BUILD_ARGS"
xcodebuild -create-xcframework $BUILD_ARGS
echo "${METAL_ANGLE_NAME}.xcframework created"

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This works great!

@petr-pokorny-1 petr-pokorny-1 merged commit 4438d84 into maplibre:metal-support Apr 6, 2021
@roblabs roblabs added the metal label Apr 21, 2021
@roblabs roblabs added the iOS label Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants