-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Playing with on_device_unit_test_app
#2046
#2073
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
Conversation
So depending on the supplied recipes, a different test app will be ran. The supported test apps are: - kivy - flask - no-gui
for our CI providers and `rebuild_updated_recipes.py` because we recently removed the old test app that we made use of.
Remove sentence regarding python2 compatibility... because python2 it's almost at the end of his life
So we can get an apk via gh-actions Notes: - this way the reviewers can install the flask apk without making the build - these changes will be reverted in the next commit...since we want a kivy app as our default)
This reverts commit 0ed4d70.
in case that we detect that p4a will build an `service_only` app. Note: if we don't do this we wil get errors once we try to create our apk with the target distribution
and: - remove Python 2 test apps because: + we already test Python 2 with travis + Python 2 it's almost at the end of his life - change gh-actions job title (because it looks better)
Because it looks better and is more readable.
Because reducing filename to `setup.py` will make our cli arguments shorter and source code cleaner
So our matrix gh-actions builds will not be cancelled if some arch fails
We also add `harfbuzz` to requirements to have freetype library built with harfbuzz support.
Hahahaha, first bugs found, for archs BTW, the first commit I made here 9fca4b0 (not included in #2046), allow us to go on if some arch fails to build...:thinking:...I think that we should include that in #2046, since it will be difficult to test at runtime all the generated artifacts (precisely those failed archs are the ones that I cannot test at runtime, so I don't usually test the build in my local machine...and it will probably be the same case for other members/contributors, since those kind of CPUs, AFAIK are not common on smartphones...). About the errors:
Anyway, let's go on and test the updated Pillow recipe #2067 and see what happens... |
Ok, as expected, same I tested the generated apks at runtime for the updated Here are the generated apks, zip file compressed BTW, I never uploaded an image of how it will look like the |
It looks amazing, thanks for sharing 👏 |
Since, at this point, we know that we need to add the mentioned flags at some point, let's be brave and try to add it at Arch level (since we need `-fPIC` for `ArchARMv7_a` it may be also the case for `Archx86_64`) See also: kivy#2073 (comment)
Ok, To do so, I will create a couple of PRs, which then I will merge the corresponding branch into here. This way, we can play a little more with this, having the fixes ready to review into the proper PR and the testing in here, since the |
Yeah, the same situation that with the old So, so far we have this situation:
So now I will remove |
Because the updated `matplotlib` recipe could work now...let's test it
More thoughts:
|
Because the `matplotlib` recipe should work now in our `CI` tests
Ok, we have So now I want to do one last test in here, the |
Because the latest version of numpy requires Python>=3.5
dbec040
to
b943edc
Compare
Yeah, The new BTW, the error we got are the expected ones:
So, as a conclusion for the |
Since, at this point, we know that we need to add the mentioned flags at some point, let's be brave and try to add it at Arch level (since we need `-fPIC` for `ArchARMv7_a` it may be also the case for `Archx86_64`) **See also:** - kivy#2073 (comment)
Since, at this point, we know that we need to add the mentioned flags at some point, let's be brave and try to add it at Arch level (since we need `-fPIC` for `ArchARMv7_a` it may be also the case for `Archx86_64`) **See also:** - #2073 (comment)
So our matrix gh-actions builds will not be cancelled if some arch fails which is very useful to fix specific arch issues. See also: kivy#2073
Fix our `CI` travis tests by explicitly omit the numpy build for MacOsX. Yeah...not actually a solution for MacOsX...but at least we will have the `green tick mark` for our `CI` tests...but we have a problem with MacOsX and numpy recipe :< See also: kivy#2073
So our matrix gh-actions builds will not be cancelled if some arch fails which is very useful to fix specific arch issues. See also: kivy#2073
So our matrix gh-actions builds will not be cancelled if some arch fails which is very useful to fix specific arch issues. See also: kivy#2073
* 📦 Refactor (move) `PythonTestMixIn` into `tests.mixin` * 📦 Unify most of the test apps into one app So depending on the supplied recipes, a different test app will be ran. The supported test apps are: - kivy - flask - no-gui * 🏗️ Make test app `on_device_unit_tests` the default... for our CI providers and `rebuild_updated_recipes.py` because we recently removed the old test app that we made use of. * 📝 Update docs * ✅ Create a `x86_64` testapp for gh-actions * 📝 Fix typo errors and... Remove sentence regarding python2 compatibility... because python2 it's almost at the end of his life * ✅ Make a `flask` testapp... So we can get an apk via gh-actions Notes: - this way the reviewers can install the flask apk without making the build - these changes will be reverted in the next commit...since we want a kivy app as our default) * ✅ Revert "Make a `flask` testapp..." This reverts commit 0ed4d70. * 🔥 Remove `orientation` kwarg... in case that we detect that p4a will build an `service_only` app. Note: if we don't do this we wil get errors once we try to create our apk with the target distribution * ✅ Create a `x86` testapp for gh-actions and change gh-actions job title (because it looks better) * 🏗️ Rename test app Because it looks better and is more readable. * 📝 Fix a syntactical error at docstring * 🚚 Rename `setup_test_app.py` to `setup.py` Because reducing filename to `setup.py` will make our cli arguments shorter and source code cleaner * 🔧 Disable gh-actions `fail-fast` So our matrix gh-actions builds will not be cancelled if some arch fails which is very useful to fix specific arch issues. See also: #2073 * 💚 Add `testapps-with-numpy/%` & ... make `testapps/%` support multiple archs Notes: this completes the job started at 9ea53fc & afd4413
* 📦 Refactor (move) `PythonTestMixIn` into `tests.mixin` * 📦 Unify most of the test apps into one app So depending on the supplied recipes, a different test app will be ran. The supported test apps are: - kivy - flask - no-gui * 🏗️ Make test app `on_device_unit_tests` the default... for our CI providers and `rebuild_updated_recipes.py` because we recently removed the old test app that we made use of. * 📝 Update docs * ✅ Create a `x86_64` testapp for gh-actions * 📝 Fix typo errors and... Remove sentence regarding python2 compatibility... because python2 it's almost at the end of his life * ✅ Make a `flask` testapp... So we can get an apk via gh-actions Notes: - this way the reviewers can install the flask apk without making the build - these changes will be reverted in the next commit...since we want a kivy app as our default) * ✅ Revert "Make a `flask` testapp..." This reverts commit 0ed4d70. * 🔥 Remove `orientation` kwarg... in case that we detect that p4a will build an `service_only` app. Note: if we don't do this we wil get errors once we try to create our apk with the target distribution * ✅ Create a `x86` testapp for gh-actions and change gh-actions job title (because it looks better) * 🏗️ Rename test app Because it looks better and is more readable. * 📝 Fix a syntactical error at docstring * 🚚 Rename `setup_test_app.py` to `setup.py` Because reducing filename to `setup.py` will make our cli arguments shorter and source code cleaner * 🔧 Disable gh-actions `fail-fast` So our matrix gh-actions builds will not be cancelled if some arch fails which is very useful to fix specific arch issues. See also: kivy#2073 * 💚 Add `testapps-with-numpy/%` & ... make `testapps/%` support multiple archs Notes: this completes the job started at 9ea53fc & afd4413
The issue is still persistent as I faced it while building for armeabi-v7a & arm64-v8a android arch using buildozer, which is as the results are also crossed in checks link of the post. Is their any work around for mentioned arch till? |
This is not to be reviewed nor merged, of course commented if you want, but the purpose of this is to play a little with some recipes and the
on_device_unit_test_app
(#2046).Some of the commits I will make in here, will be to test some active PRs. But I also will make some other commits which may be future PRs...if we like them. BTW, each
gh-actions
run should produce four apks, one for each arch, but probably it won't be the case...we will have failures on some/all archs (but this is fine...since is the first step to find a future solution). Also You should know that the generated artifacts viagh-actions
are.zip
compressed files with the apk inside them.So, this is what I'm planning to do in here:
Pillow
recipe, v5.2.0Pillow
recipe, v7.0.0 ([recipes] Update Pillow to v7.0.0 #2067)matplotlib
's recipe (I think that we have it broken alongside with some direct dependencies...due to the NDKr19 upgrade we made some months ago)KiwisolverTestCase
foron_device_unit_test_app
and test itkiwisolver
fix (Fix recipekiwisolver
(addcppy
recipe) #2075)matplotlib
's recipe (Fixmatplotlib
and update tov3.1.3
#2076)Pillow
andMatplotlib
recipes with updated libraries ([recipes] Update freetype & add zlib support #2068 and [recipes] Update harfbuzz to v2.6.4 #2069)numpy
recipe (Updatenumpy
to v1.18.1 (addcython
recipe) #2077)Notes:
travis
results in here, because this is to testgh-actions
generated artifactsplanning
may change along the way, so I will try to keep it updated3.8.1
(Python 3.8 support on Android #2044)