This repository has been archived by the owner on Nov 12, 2021. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Done:
This is one attempt to bring the e2e tests for the native part (ios) to the CI related to #3 .
The tests are made using appium.
The e2eios workflow builds the application using the expo server and exports it as an
ipa
ready for ios simulator.We download the ipa from the expo's server and we unzip it. The ipa is unzipped (appium fails loading it triggering an error during the verification of the package, if you run appium in macOS locally you don't need to unzip it because the system does it magically for you 🤬).
We install appium and we run yarn e2e:ios:run:ci
this command start appium and run the tests concurrently
the test script runs
In this repository https://github.com/brainrepo/expo-ci-proto, you can find my first attempt.
Here the CI workflow https://github.com/brainrepo/expo-ci-proto/runs/2095445200?check_suite_focus=true
if you check line 1467 and 1468 in
run appium tests
step you can see that the test runsTo improve:
To evaluate
This workflow relies strongly on expo server, the builds steps are doing using expo servers which are so slow. Can be interesting to become completely autonomous using turtle-cli.
Please note: to be completely independent we need to have a web server with https, to allow turtle-cli to retrieve the js payloads and the assets. Turtle-cli is a copy of expo build system, you can use it by giving the expo credentials (in this case you have to upload the payloads and assets in their servers) or you can publish in your webserver passing to turtle-cli the url. In this last case I think that we will be completely autonomous.
https://docs.expo.io/distribution/hosting-your-app/#hosting-your-static-files