@@ -30,168 +30,169 @@ jobs:
3030 pip install tox>=2.0
3131 tox -e pep8
3232
33- test :
34- name : Pytest [Python ${{ matrix.python-version }} | ${{ matrix.os }}]
35- needs : flake8
36- runs-on : ${{ matrix.os }}
37- strategy :
38- matrix :
39- python-version : ['3.8', '3.9', '3.10', '3.11']
40- os : [ubuntu-latest, macOs-latest]
41- steps :
42- - name : Checkout python-for-android
43- uses : actions/checkout@v4
44- - name : Set up Python ${{ matrix.python-version }}
45- uses : actions/setup-python@v5
46- with :
47- python-version : ${{ matrix.python-version }}
48- - name : Tox tests
49- run : |
50- python -m pip install --upgrade pip
51- pip install tox>=2.0
52- make test
53- - name : Coveralls
54- uses : AndreMiras/coveralls-python-action@develop
55- if : ${{ matrix.os == 'ubuntu-latest' }}
56- with :
57- parallel : true
58- flag-name : run-${{ matrix.os }}-${{ matrix.python-version }}
33+ # TODO: disable to not waste CPU time during testing
34+ # test:
35+ # name: Pytest [Python ${{ matrix.python-version }} | ${{ matrix.os }}]
36+ # needs: flake8
37+ # runs-on: ${{ matrix.os }}
38+ # strategy:
39+ # matrix:
40+ # python-version: ['3.8', '3.9', '3.10', '3.11']
41+ # os: [ubuntu-latest, macOs-latest]
42+ # steps:
43+ # - name: Checkout python-for-android
44+ # uses: actions/checkout@v4
45+ # - name: Set up Python ${{ matrix.python-version }}
46+ # uses: actions/setup-python@v5
47+ # with:
48+ # python-version: ${{ matrix.python-version }}
49+ # - name: Tox tests
50+ # run: |
51+ # python -m pip install --upgrade pip
52+ # pip install tox>=2.0
53+ # make test
54+ # - name: Coveralls
55+ # uses: AndreMiras/coveralls-python-action@develop
56+ # if: ${{ matrix.os == 'ubuntu-latest' }}
57+ # with:
58+ # parallel: true
59+ # flag-name: run-${{ matrix.os }}-${{ matrix.python-version }}
5960
60- ubuntu_build :
61- name : Build test APP [ ${{ matrix.runs_on }} | ${{ matrix.bootstrap.name }} ]
62- needs : [flake8]
63- runs-on : ${{ matrix.runs_on }}
64- continue-on-error : true
65- strategy :
66- matrix :
67- runs_on : [ubuntu-latest]
68- bootstrap :
69- - name : sdl2
70- target : testapps-with-numpy
71- # - name: sdl2_scipy # TODO: Re-enable this failing test.
72- # target: testapps-with-scipy
73- - name : webview
74- target : testapps-webview
75- - name : service_library
76- target : testapps-service_library-aar
77- - name : qt
78- target : testapps-qt
79- steps :
80- - name : Checkout python-for-android
81- uses : actions/checkout@v4
82- - name : Build python-for-android docker image
83- run : |
84- docker build --tag=kivy/python-for-android .
85- - name : Build multi-arch ${{ matrix.bootstrap.target }} artifact with docker
86- run : |
87- docker run --name p4a-latest kivy/python-for-android make ${{ matrix.bootstrap.target }}
88- - name : Copy produced artifacts from docker container (*.apk, *.aab)
89- if : matrix.bootstrap.name != 'service_library'
90- run : |
91- mkdir -p dist
92- docker cp p4a-latest:/home/user/app/testapps/on_device_unit_tests/${{ env.APK_ARTIFACT_FILENAME }} dist/
93- docker cp p4a-latest:/home/user/app/testapps/on_device_unit_tests/${{ env.AAB_ARTIFACT_FILENAME }} dist/
94- - name : Copy produced artifacts from docker container (*.aar)
95- if : matrix.bootstrap.name == 'service_library'
96- run : |
97- mkdir -p dist
98- docker cp p4a-latest:/home/user/app/testapps/on_device_unit_tests/${{ env.AAR_ARTIFACT_FILENAME }} dist/
99- - name : Rename artifacts to include the build platform name (*.apk, *.aab, *.aar)
100- run : |
101- if [ -f dist/${{ env.APK_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.APK_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}; fi
102- if [ -f dist/${{ env.AAB_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.AAB_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.AAB_ARTIFACT_FILENAME }}; fi
103- if [ -f dist/${{ env.AAR_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.AAR_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.AAR_ARTIFACT_FILENAME }}; fi
104- - name : Upload artifacts
105- uses : actions/upload-artifact@v4
106- with :
107- name : ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-artifacts
108- path : dist
61+ # ubuntu_build:
62+ # name: Build test APP [ ${{ matrix.runs_on }} | ${{ matrix.bootstrap.name }} ]
63+ # needs: [flake8]
64+ # runs-on: ${{ matrix.runs_on }}
65+ # continue-on-error: true
66+ # strategy:
67+ # matrix:
68+ # runs_on: [ubuntu-latest]
69+ # bootstrap:
70+ # - name: sdl2
71+ # target: testapps-with-numpy
72+ # # - name: sdl2_scipy # TODO: Re-enable this failing test.
73+ # # target: testapps-with-scipy
74+ # - name: webview
75+ # target: testapps-webview
76+ # - name: service_library
77+ # target: testapps-service_library-aar
78+ # - name: qt
79+ # target: testapps-qt
80+ # steps:
81+ # - name: Checkout python-for-android
82+ # uses: actions/checkout@v4
83+ # - name: Build python-for-android docker image
84+ # run: |
85+ # docker build --tag=kivy/python-for-android .
86+ # - name: Build multi-arch ${{ matrix.bootstrap.target }} artifact with docker
87+ # run: |
88+ # docker run --name p4a-latest kivy/python-for-android make ${{ matrix.bootstrap.target }}
89+ # - name: Copy produced artifacts from docker container (*.apk, *.aab)
90+ # if: matrix.bootstrap.name != 'service_library'
91+ # run: |
92+ # mkdir -p dist
93+ # docker cp p4a-latest:/home/user/app/testapps/on_device_unit_tests/${{ env.APK_ARTIFACT_FILENAME }} dist/
94+ # docker cp p4a-latest:/home/user/app/testapps/on_device_unit_tests/${{ env.AAB_ARTIFACT_FILENAME }} dist/
95+ # - name: Copy produced artifacts from docker container (*.aar)
96+ # if: matrix.bootstrap.name == 'service_library'
97+ # run: |
98+ # mkdir -p dist
99+ # docker cp p4a-latest:/home/user/app/testapps/on_device_unit_tests/${{ env.AAR_ARTIFACT_FILENAME }} dist/
100+ # - name: Rename artifacts to include the build platform name (*.apk, *.aab, *.aar)
101+ # run: |
102+ # if [ -f dist/${{ env.APK_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.APK_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}; fi
103+ # if [ -f dist/${{ env.AAB_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.AAB_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.AAB_ARTIFACT_FILENAME }}; fi
104+ # if [ -f dist/${{ env.AAR_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.AAR_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.AAR_ARTIFACT_FILENAME }}; fi
105+ # - name: Upload artifacts
106+ # uses: actions/upload-artifact@v4
107+ # with:
108+ # name: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-artifacts
109+ # path: dist
109110
110- macos_build :
111- name : Build test APP [ ${{ matrix.runs_on }} | ${{ matrix.bootstrap.name }} ]
112- needs : [flake8]
113- runs-on : ${{ matrix.runs_on }}
114- continue-on-error : true
115- strategy :
116- matrix :
117- # macos-latest (ATM macos-14) runs on Apple Silicon,
118- # macos-13 runs on Intel
119- runs_on : ['macos-latest', 'macos-13']
120- bootstrap :
121- - name : sdl2
122- target : testapps-with-numpy
123- - name : webview
124- target : testapps-webview
125- env :
126- ANDROID_HOME : ${HOME}/.android
127- ANDROID_SDK_ROOT : ${HOME}/.android/android-sdk
128- ANDROID_SDK_HOME : ${HOME}/.android/android-sdk
129- ANDROID_NDK_HOME : ${HOME}/.android/android-ndk
130- steps :
131- - name : Checkout python-for-android
132- uses : actions/checkout@v4
133- - name : Set up Python 3.x
134- uses : actions/setup-python@v5
135- with :
136- python-version : 3.x
137- - name : Install python-for-android
138- run : |
139- python3 -m pip install -e .
140- - name : Install prerequisites via pythonforandroid/prerequisites.py (Experimental)
141- run : |
142- python3 pythonforandroid/prerequisites.py
143- - name : Install dependencies (Legacy)
144- run : |
145- make --file ci/makefiles/osx.mk
146- - name : Build multi-arch apk Python 3 (armeabi-v7a, arm64-v8a, x86_64, x86)
147- run : |
148- make ${{ matrix.bootstrap.target }}
149- - name : Copy produced artifacts into dist/ (*.apk, *.aab)
150- run : |
151- mkdir -p dist
152- cp testapps/on_device_unit_tests/*.apk dist/
153- cp testapps/on_device_unit_tests/*.aab dist/
154- ls -l dist/
155- - name : Rename artifacts to include the build platform name (*.apk, *.aab)
156- run : |
157- if [ -f dist/${{ env.APK_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.APK_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}; fi
158- if [ -f dist/${{ env.AAB_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.AAB_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.AAB_ARTIFACT_FILENAME }}; fi
159- - name : Upload artifacts
160- uses : actions/upload-artifact@v4
161- with :
162- name : ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-artifacts
163- path : dist
111+ # macos_build:
112+ # name: Build test APP [ ${{ matrix.runs_on }} | ${{ matrix.bootstrap.name }} ]
113+ # needs: [flake8]
114+ # runs-on: ${{ matrix.runs_on }}
115+ # continue-on-error: true
116+ # strategy:
117+ # matrix:
118+ # # macos-latest (ATM macos-14) runs on Apple Silicon,
119+ # # macos-13 runs on Intel
120+ # runs_on: ['macos-latest', 'macos-13']
121+ # bootstrap:
122+ # - name: sdl2
123+ # target: testapps-with-numpy
124+ # - name: webview
125+ # target: testapps-webview
126+ # env:
127+ # ANDROID_HOME: ${HOME}/.android
128+ # ANDROID_SDK_ROOT: ${HOME}/.android/android-sdk
129+ # ANDROID_SDK_HOME: ${HOME}/.android/android-sdk
130+ # ANDROID_NDK_HOME: ${HOME}/.android/android-ndk
131+ # steps:
132+ # - name: Checkout python-for-android
133+ # uses: actions/checkout@v4
134+ # - name: Set up Python 3.x
135+ # uses: actions/setup-python@v5
136+ # with:
137+ # python-version: 3.x
138+ # - name: Install python-for-android
139+ # run: |
140+ # python3 -m pip install -e .
141+ # - name: Install prerequisites via pythonforandroid/prerequisites.py (Experimental)
142+ # run: |
143+ # python3 pythonforandroid/prerequisites.py
144+ # - name: Install dependencies (Legacy)
145+ # run: |
146+ # make --file ci/makefiles/osx.mk
147+ # - name: Build multi-arch apk Python 3 (armeabi-v7a, arm64-v8a, x86_64, x86)
148+ # run: |
149+ # make ${{ matrix.bootstrap.target }}
150+ # - name: Copy produced artifacts into dist/ (*.apk, *.aab)
151+ # run: |
152+ # mkdir -p dist
153+ # cp testapps/on_device_unit_tests/*.apk dist/
154+ # cp testapps/on_device_unit_tests/*.aab dist/
155+ # ls -l dist/
156+ # - name: Rename artifacts to include the build platform name (*.apk, *.aab)
157+ # run: |
158+ # if [ -f dist/${{ env.APK_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.APK_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}; fi
159+ # if [ -f dist/${{ env.AAB_ARTIFACT_FILENAME }} ]; then mv dist/${{ env.AAB_ARTIFACT_FILENAME }} dist/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.AAB_ARTIFACT_FILENAME }}; fi
160+ # - name: Upload artifacts
161+ # uses: actions/upload-artifact@v4
162+ # with:
163+ # name: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-artifacts
164+ # path: dist
164165
165- ubuntu_rebuild_updated_recipes :
166- name : Test updated recipes for arch ${{ matrix.android_arch }} [ ubuntu-latest ]
167- needs : [flake8]
168- runs-on : ubuntu-latest
169- continue-on-error : true
170- strategy :
171- matrix :
172- android_arch : ["arm64-v8a", "armeabi-v7a", "x86_64", "x86"]
173- env :
174- REBUILD_UPDATED_RECIPES_EXTRA_ARGS : --arch=${{ matrix.android_arch }}
175- steps :
176- - name : Checkout python-for-android (all-history)
177- uses : actions/checkout@v4
178- with :
179- fetch-depth : 0
180- # helps with GitHub runner getting out of space
181- - name : Free disk space
182- run : |
183- df -h
184- sudo swapoff -a
185- sudo rm -f /swapfile
186- sudo apt -y clean
187- docker images -q | xargs -r docker rmi
188- df -h
189- - name : Pull docker image
190- run : |
191- make docker/pull
192- - name : Rebuild updated recipes
193- run : |
194- make docker/run/make/rebuild_updated_recipes
166+ # ubuntu_rebuild_updated_recipes:
167+ # name: Test updated recipes for arch ${{ matrix.android_arch }} [ ubuntu-latest ]
168+ # needs: [flake8]
169+ # runs-on: ubuntu-latest
170+ # continue-on-error: true
171+ # strategy:
172+ # matrix:
173+ # android_arch: ["arm64-v8a", "armeabi-v7a", "x86_64", "x86"]
174+ # env:
175+ # REBUILD_UPDATED_RECIPES_EXTRA_ARGS: --arch=${{ matrix.android_arch }}
176+ # steps:
177+ # - name: Checkout python-for-android (all-history)
178+ # uses: actions/checkout@v4
179+ # with:
180+ # fetch-depth: 0
181+ # # helps with GitHub runner getting out of space
182+ # - name: Free disk space
183+ # run: |
184+ # df -h
185+ # sudo swapoff -a
186+ # sudo rm -f /swapfile
187+ # sudo apt -y clean
188+ # docker images -q | xargs -r docker rmi
189+ # df -h
190+ # - name: Pull docker image
191+ # run: |
192+ # make docker/pull
193+ # - name: Rebuild updated recipes
194+ # run: |
195+ # make docker/run/make/rebuild_updated_recipes
195196
196197 macos_rebuild_updated_recipes :
197198 name : Test updated recipes for arch ${{ matrix.android_arch }} [ ${{ matrix.runs_on }} ]
@@ -200,7 +201,9 @@ jobs:
200201 continue-on-error : true
201202 strategy :
202203 matrix :
203- android_arch : ["arm64-v8a", "armeabi-v7a", "x86_64", "x86"]
204+ # TODO: disable to not waste CPU time during testing
205+ # android_arch: ["arm64-v8a", "armeabi-v7a", "x86_64", "x86"]
206+ android_arch : ["arm64-v8a", "x86_64"]
204207 # macos-latest (ATM macos-14) runs on Apple Silicon,
205208 # macos-13 runs on Intel
206209 runs_on : ['macos-latest', 'macos-13']
@@ -232,25 +235,25 @@ jobs:
232235 run : |
233236 make rebuild_updated_recipes
234237
235- coveralls_finish :
236- needs : test
237- runs-on : ubuntu-latest
238- steps :
239- - name : Coveralls Finished
240- uses : AndreMiras/coveralls-python-action@develop
241- with :
242- parallel-finished : true
238+ # coveralls_finish:
239+ # needs: test
240+ # runs-on: ubuntu-latest
241+ # steps:
242+ # - name: Coveralls Finished
243+ # uses: AndreMiras/coveralls-python-action@develop
244+ # with:
245+ # parallel-finished: true
243246
244- documentation :
245- runs-on : ubuntu-latest
246- steps :
247- - uses : actions/checkout@v4
248- - name : Requirements
249- run : |
250- python -m pip install --upgrade pip
251- pip install -r doc/requirements.txt
252- - name : Check links
253- run : sphinx-build -b linkcheck doc/source doc/build
254- - name : Generate documentation
255- run : sphinx-build doc/source doc/build
247+ # documentation:
248+ # runs-on: ubuntu-latest
249+ # steps:
250+ # - uses: actions/checkout@v4
251+ # - name: Requirements
252+ # run: |
253+ # python -m pip install --upgrade pip
254+ # pip install -r doc/requirements.txt
255+ # - name: Check links
256+ # run: sphinx-build -b linkcheck doc/source doc/build
257+ # - name: Generate documentation
258+ # run: sphinx-build doc/source doc/build
256259
0 commit comments