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 2022.07.20 #2638

Merged
merged 41 commits into from
Jul 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
4b7c682
Merge pull request #2562 from kivy/master
misl6 Mar 13, 2022
afd9942
add version check to unpackPyBundle (#2565)
mzakharo Mar 19, 2022
85c4d1c
Fixes App Icon and Presplash_Screen For Webview bootstrap (#2556)
kengoon Apr 6, 2022
a0f8d3e
macOS CI: ADD APK, AAB & Updated Recipes build (#2574)
misl6 Apr 7, 2022
f7f8cea
NDK 23 + Gradle 7 support (#2550)
misl6 Apr 8, 2022
2ca492a
Bumps numpy version to 1.22.3, cython version to 0.29.28 and fixes nu…
misl6 Apr 13, 2022
0e87b99
Bumps libffi to v3.4.2 + adds -fPIC on i686 (#2578)
misl6 Apr 16, 2022
44d3591
Add missing fetch-depth: 0 on macos_rebuild_updated_recipes (#2579)
misl6 Apr 16, 2022
a2fb480
Fixes a typo in macos_rebuild_updated_recipes (#2587)
misl6 Apr 23, 2022
846d80d
Upload artifacts produced from every build platform, not only ubuntu-…
misl6 Apr 25, 2022
92cb8f4
Set PATH using real SDK and NDK directories (#2583)
dbnicholson Apr 27, 2022
9670576
Added py3dns recipe (#2590)
Neizvestnyj May 1, 2022
f45408d
*_rebuild_updated_recipes CI jobs now test the updated recipe along a…
misl6 May 2, 2022
4baec32
Introduces pythonforandroid/prerequisites.py (Experimental). This all…
misl6 May 10, 2022
d71ef6a
Prefer avdmanager from cmdline-tools
dbnicholson May 13, 2022
c9c91e8
Merge pull request #2593 from dbnicholson/cmdline-tools-avdmanager
AndreMiras May 14, 2022
4d45f99
Handle all the macOS prerequisites (except NDK/SDK) via prerequisites…
misl6 May 16, 2022
243e6b6
Return proper HTTP responses in webview testapp
dbnicholson May 20, 2022
d6321c2
Don't run flask in threaded mode in webview test app
dbnicholson May 20, 2022
eeea8a1
Merge pull request #2597 from dbnicholson/webview-testapp-jnius
AndreMiras May 20, 2022
175d282
Add service to webview test app
dbnicholson May 18, 2022
fff7013
Merge pull request #2598 from dbnicholson/webview-testapp-service
AndreMiras May 21, 2022
71c237f
Introduces pkg_config_location in Prerequisite and use OpenSSLPrerequ…
misl6 May 21, 2022
b7146e8
Support multiarch in webview bootstrap (#2596)
dbnicholson May 22, 2022
b9af853
Our self-hosted Apple Silicon runner now has been migrated to actions…
misl6 May 25, 2022
6b68f42
changed arch.ndk_platform to arch.ndk_lib_dir
kengoon May 26, 2022
26d464a
Merge pull request #2605 from kvdroid/develop
AndreMiras May 26, 2022
4487002
removed `usr` and `lib` from ndk library path
kengoon May 26, 2022
9147848
Merge pull request #2606 from kvdroid/develop
AndreMiras May 26, 2022
61cc596
Bump groestlcoin_hash to 1.0.3 (#2607)
gruve-p May 26, 2022
3c55699
use LEGACY_NDK option to build lapack/scipy with a separate NDK, supp…
mzakharo Jun 6, 2022
13177b1
Merge pull request #2615 from mzakharo/scipy
AndreMiras Jun 6, 2022
e524c0b
add scipy/lapack CI tests (#2617)
mzakharo Jun 11, 2022
b51c26e
lapack/scipy: support NDK r21e, x86/64 archs
mzakharo Jun 13, 2022
1f7f892
Merge pull request #2619 from mzakharo/scipy_r21e
AndreMiras Jun 13, 2022
6fa6dde
Fix issue #2630 (#2631)
Neizvestnyj Jul 9, 2022
a169f0d
Fixing service_library bootstrap + .aar build. (#2612)
mzakharo Jul 11, 2022
73539bf
Added pythonforandroid.androidndk.AndroidNDK + some changes needed in…
misl6 Jul 13, 2022
cae8a85
add service_lib and aar to the docs (#2634)
mzakharo Jul 14, 2022
28151d1
Use shutil.which instead of sh.which (#2637)
misl6 Jul 19, 2022
31bf165
Update CHANGELOG.md & change version for release 2022.07.20
misl6 Jul 20, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
272 changes: 256 additions & 16 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ name: Unit tests & build apps

on: ['push', 'pull_request']

env:
APK_ARTIFACT_FILENAME: bdist_unit_tests_app-debug-1.1-.apk
AAB_ARTIFACT_FILENAME: bdist_unit_tests_app-release-1.1-.aab
AAR_ARTIFACT_FILENAME: bdist_unit_tests_app-release-1.1-.aar
PYTHONFORANDROID_PREREQUISITES_INSTALL_INTERACTIVE: 0

jobs:

flake8:
Expand Down Expand Up @@ -47,10 +53,21 @@ jobs:
parallel: true
flag-name: run-${{ matrix.os }}-${{ matrix.python-version }}

build_apk:
name: Unit test apk
ubuntu_build_apk:
name: Unit test apk [ ${{ matrix.runs_on }} | ${{ matrix.bootstrap.name }} ]
needs: [flake8]
runs-on: ubuntu-latest
runs-on: ${{ matrix.runs_on }}
continue-on-error: true
strategy:
matrix:
runs_on: [ubuntu-latest]
bootstrap:
- name: sdl2
target: testapps-with-numpy
- name: sdl2_scipy
target: testapps-with-scipy
- name: webview
target: testapps-webview
steps:
- name: Checkout python-for-android
uses: actions/checkout@v2
Expand All @@ -69,16 +86,85 @@ jobs:
- name: Build multi-arch apk Python 3 (armeabi-v7a, arm64-v8a, x86_64, x86)
run: |
mkdir -p apks
make docker/run/make/with-artifact/apk/testapps-with-numpy
- uses: actions/upload-artifact@v1
make docker/run/make/with-artifact/apk/${{ matrix.bootstrap.target }}
- name: Rename apk artifact to include the build platform name
run: |
mv apks/${{ env.APK_ARTIFACT_FILENAME }} apks/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}
- name: Upload apk artifact
uses: actions/upload-artifact@v1
with:
name: bdist_unit_tests_app-debug-1.1-.apk
path: apks
name: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}
path: apks/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}

build_aab:
name: Unit test aab
macos_build_apk:
name: Unit test apk [ ${{ matrix.runs_on }} | ${{ matrix.bootstrap.name }} ]
needs: [flake8]
runs-on: ubuntu-latest
runs-on: ${{ matrix.runs_on }}
continue-on-error: true
strategy:
matrix:
runs_on: [macos-latest, apple-silicon-m1]
bootstrap:
- name: sdl2
target: testapps-with-numpy
- name: webview
target: testapps-webview
include:
- runs_on: macos-latest
ndk_version: '23b'
- runs_on: apple-silicon-m1
ndk_version: '24'
env:
ANDROID_HOME: ${HOME}/.android
ANDROID_SDK_ROOT: ${HOME}/.android/android-sdk
ANDROID_SDK_HOME: ${HOME}/.android/android-sdk
ANDROID_NDK_HOME: ${HOME}/.android/android-ndk
ANDROID_NDK_VERSION: ${{ matrix.ndk_version }}
steps:
- name: Checkout python-for-android
uses: actions/checkout@v2
- name: Install python-for-android
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
python3 -m pip install -e .
- name: Install prerequisites via pythonforandroid/prerequisites.py (Experimental)
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
python3 pythonforandroid/prerequisites.py
- name: Install dependencies (Legacy)
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
make --file ci/makefiles/osx.mk
- name: Build multi-arch apk Python 3 (armeabi-v7a, arm64-v8a, x86_64, x86)
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
make ${{ matrix.bootstrap.target }}
- name: Rename apk artifact to include the build platform name
run: |
mv testapps/on_device_unit_tests/${{ env.APK_ARTIFACT_FILENAME }} ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}
- name: Upload apk artifact
uses: actions/upload-artifact@v1
with:
name: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}
path: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}

ubuntu_build_aab:
name: Unit test aab [ ${{ matrix.runs_on }} ]
needs: [flake8]
runs-on: ${{ matrix.runs_on }}
continue-on-error: true
strategy:
matrix:
runs_on: [ubuntu-latest]
bootstrap:
- name: sdl2
target: testapps-with-numpy-aab
- name: webview
target: testapps-webview-aab
steps:
- name: Checkout python-for-android
uses: actions/checkout@v2
Expand All @@ -97,16 +183,123 @@ jobs:
- name: Build Android App Bundle Python 3 (armeabi-v7a, arm64-v8a, x86_64, x86)
run: |
mkdir -p aabs
make docker/run/make/with-artifact/aab/testapps-with-numpy-aab
- uses: actions/upload-artifact@v1
make docker/run/make/with-artifact/aab/${{ matrix.bootstrap.target }}
- name: Rename artifact to include the build platform name
run: |
mv aabs/${{ env.AAB_ARTIFACT_FILENAME }} aabs/${{ matrix.runs_on }}-${{ matrix.bootstrap.name}}-${{ env.AAB_ARTIFACT_FILENAME }}
- name: Upload apk artifact
uses: actions/upload-artifact@v1
with:
name: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name}}-${{ env.AAB_ARTIFACT_FILENAME }}
path: aabs/${{ matrix.runs_on }}-${{ matrix.bootstrap.name}}-${{ env.AAB_ARTIFACT_FILENAME }}


ubuntu_build_aar:
name: Unit test aar [ ${{ matrix.runs_on }} ]
needs: [flake8]
runs-on: ${{ matrix.runs_on }}
continue-on-error: true
strategy:
matrix:
runs_on: [ubuntu-latest]
bootstrap:
- name: service_library
target: testapps-service_library-aar
steps:
- name: Checkout python-for-android
uses: actions/checkout@v2
# helps with GitHub runner getting out of space
- name: Free disk space
run: |
df -h
sudo swapoff -a
sudo rm -f /swapfile
sudo apt -y clean
docker rmi $(docker image ls -aq)
df -h
- name: Pull docker image
run: |
make docker/pull
- name: Build Android AAR Python 3 (arm64-v8a)
run: |
mkdir -p aars
make docker/run/make/with-artifact/aar/${{ matrix.bootstrap.target }}
- name: Rename artifact to include the build platform name
run: |
mv aars/${{ env.AAR_ARTIFACT_FILENAME }} aars/${{ matrix.runs_on }}-${{ matrix.bootstrap.name}}-${{ env.AAR_ARTIFACT_FILENAME }}
- name: Upload aar artifact
uses: actions/upload-artifact@v1
with:
name: bdist_unit_tests_app-release-1.1-.aab
path: aabs
name: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name}}-${{ env.AAR_ARTIFACT_FILENAME }}
path: aars/${{ matrix.runs_on }}-${{ matrix.bootstrap.name}}-${{ env.AAR_ARTIFACT_FILENAME }}


rebuild_updated_recipes:
name: Test updated recipes
macos_build_aab:
name: Unit test aab [ ${{ matrix.runs_on }} | ${{ matrix.bootstrap.name }} ]
needs: [flake8]
runs-on: ${{ matrix.runs_on }}
continue-on-error: true
strategy:
matrix:
runs_on: [macos-latest, apple-silicon-m1]
bootstrap:
- name: sdl2
target: testapps-with-numpy-aab
- name: webview
target: testapps-webview-aab
include:
- runs_on: macos-latest
ndk_version: '23b'
- runs_on: apple-silicon-m1
ndk_version: '24'
env:
ANDROID_HOME: ${HOME}/.android
ANDROID_SDK_ROOT: ${HOME}/.android/android-sdk
ANDROID_SDK_HOME: ${HOME}/.android/android-sdk
ANDROID_NDK_HOME: ${HOME}/.android/android-ndk
ANDROID_NDK_VERSION: ${{ matrix.ndk_version }}
steps:
- name: Checkout python-for-android
uses: actions/checkout@v2
- name: Install python-for-android
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
python3 -m pip install -e .
- name: Install prerequisites via pythonforandroid/prerequisites.py (Experimental)
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
python3 pythonforandroid/prerequisites.py
- name: Install dependencies (Legacy)
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
make --file ci/makefiles/osx.mk
- name: Build multi-arch sdl2 aab Python 3 (armeabi-v7a, arm64-v8a, x86_64, x86)
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
make ${{ matrix.bootstrap.target }}
- name: Rename sdl2 artifact to include the build platform name
run: |
mv testapps/on_device_unit_tests/${{ env.AAB_ARTIFACT_FILENAME }} ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.AAB_ARTIFACT_FILENAME }}
- name: Upload sdl2 apk artifact
uses: actions/upload-artifact@v1
with:
name: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.AAB_ARTIFACT_FILENAME }}
path: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.AAB_ARTIFACT_FILENAME }}

ubuntu_rebuild_updated_recipes:
name: Test updated recipes for arch ${{ matrix.android_arch }} [ ubuntu-latest ]
needs: [flake8]
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
android_arch: ["arm64-v8a", "armeabi-v7a", "x86_64", "x86"]
env:
REBUILD_UPDATED_RECIPES_EXTRA_ARGS: --arch=${{ matrix.android_arch }}
steps:
- name: Checkout python-for-android
uses: actions/checkout@v2
Expand All @@ -128,6 +321,53 @@ jobs:
run: |
make docker/run/make/rebuild_updated_recipes

macos_rebuild_updated_recipes:
name: Test updated recipes for arch ${{ matrix.android_arch }} [ ${{ matrix.runs_on }} ]
needs: [flake8]
runs-on: ${{ matrix.runs_on }}
continue-on-error: true
strategy:
matrix:
android_arch: ["arm64-v8a", "armeabi-v7a", "x86_64", "x86"]
runs_on: [macos-latest, apple-silicon-m1]
include:
- runs_on: macos-latest
ndk_version: '23b'
- runs_on: apple-silicon-m1
ndk_version: '24'
env:
ANDROID_HOME: ${HOME}/.android
ANDROID_SDK_ROOT: ${HOME}/.android/android-sdk
ANDROID_SDK_HOME: ${HOME}/.android/android-sdk
ANDROID_NDK_HOME: ${HOME}/.android/android-ndk
REBUILD_UPDATED_RECIPES_EXTRA_ARGS: --arch=${{ matrix.android_arch }}
ANDROID_NDK_VERSION: ${{ matrix.ndk_version }}
steps:
- name: Checkout python-for-android
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install python-for-android
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
python3 -m pip install -e .
- name: Install prerequisites via pythonforandroid/prerequisites.py (Experimental)
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
python3 pythonforandroid/prerequisites.py
- name: Install dependencies (Legacy)
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
make --file ci/makefiles/osx.mk
- name: Rebuild updated recipes
run: |
source ci/osx_ci.sh
arm64_set_path_and_python_version 3.9.7
make rebuild_updated_recipes

coveralls_finish:
needs: test
runs-on: ubuntu-latest
Expand Down
Loading