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

daily job running mobile example on real devices #8216

Merged
merged 7 commits into from
Mar 28, 2023

Conversation

mockersf
Copy link
Member

@mockersf mockersf commented Mar 26, 2023

Objective

  • Test mobile example on real devices

Solution

  • Use BrowserStack to have access to real devices
  • Added a daily/manual CI job that will build for iOS and Android, send the apps to BrowserStack, run the app on one iOS device and one Android device, capture a screenshot, send it for visual validation, and archive it in the GitHub action

Example run: https://github.com/mockersf/bevy/actions/runs/4521883534

They currently have a bug with the settings to view snapshots, they should be public. I'll raise it to them, and if they don't fix it in time it's possible to work around for everyone to view the results through their API.

@cart to get this to work, you'll need

  • to set up an account on BrowserStack
  • add the secrets BROWSERSTACK_USERNAME and BROWSERSTACK_ACCESS_KEY to the Bevy repo
  • create a project in Percy
  • add the secret PERCY_TOKEN to the Bevy repo and modify the project name line 122 in the Daily.yml file

@mockersf mockersf added A-Build-System Related to build systems or continuous integration O-Android Specific to the Android mobile operating system O-iOS Specific to the iOS mobile operating system labels Mar 26, 2023
@@ -229,6 +229,7 @@
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "";
Copy link
Member Author

Choose a reason for hiding this comment

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

CODE_SIGN_IDENTITY = "" is needed to be able to build the app without signing it in CI

Copy link
Member

Choose a reason for hiding this comment

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

Can you leave a comment in this type of file?

Copy link
Member Author

Choose a reason for hiding this comment

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

The file is not meant to be read, it's generated and managed through xcode. It's also a setting specific to Bevy as an engine, someone creating a game and targeting iOS will have a signing identity. As Bevy is not paying the 100$/year apple development subscription, we don't have one.

Comment on lines -296 to +297
PRODUCT_BUNDLE_IDENTIFIER = "com.rust.bevy_mobile_example";
PRODUCT_BUNDLE_IDENTIFIER = "org.bevyengine.example";
Copy link
Member Author

Choose a reason for hiding this comment

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

this is so that both Android and iOS have the same package name

@alice-i-cecile alice-i-cecile added the X-Controversial There is active debate or serious implications around merging this PR label Mar 26, 2023
@alice-i-cecile
Copy link
Member

Controversial label added because of the third party integration. Strongly in favor of this though: there's a been quite a few surprising regressions, and if we're going to get mobile support working in earnest we need to be testing on real devices.

@cart
Copy link
Member

cart commented Mar 28, 2023

(@mockersf sent me the secrets. I added them to the Bevy Org and gave the bevy repo access)

@alice-i-cecile alice-i-cecile added the S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it label Mar 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Build-System Related to build systems or continuous integration O-Android Specific to the Android mobile operating system O-iOS Specific to the iOS mobile operating system S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it X-Controversial There is active debate or serious implications around merging this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants