Skip to content

qt6,pyqt6: include NFC submodule #30

qt6,pyqt6: include NFC submodule

qt6,pyqt6: include NFC submodule #30

Workflow file for this run

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:
name: Flake8 tests
runs-on: ubuntu-latest
steps:
- name: Checkout python-for-android
uses: actions/checkout@v2
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Run flake8
run: |
python -m pip install --upgrade pip
pip install tox>=2.0
tox -e pep8
test:
name: Pytest [Python ${{ matrix.python-version }} | ${{ matrix.os }}]
needs: flake8
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10']
os: [ubuntu-latest, macOs-latest]
steps:
- name: Checkout python-for-android
uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Tox tests
run: |
python -m pip install --upgrade pip
pip install tox>=2.0
make test
- name: Coveralls
uses: AndreMiras/coveralls-python-action@develop
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
parallel: true
flag-name: run-${{ matrix.os }}-${{ matrix.python-version }}
ubuntu_build_apk:
name: Unit test apk [ ${{ matrix.runs_on }} | ${{ matrix.bootstrap.name }} ]
needs: [flake8]
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
# 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 multi-arch apk Python 3 (armeabi-v7a, arm64-v8a, x86_64, x86)
run: |
mkdir -p apks
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: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}
path: apks/${{ matrix.runs_on }}-${{ matrix.bootstrap.name }}-${{ env.APK_ARTIFACT_FILENAME }}
macos_build_apk:
name: Unit test apk [ ${{ 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
- name: webview
target: testapps-webview
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
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
# 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 App Bundle Python 3 (armeabi-v7a, arm64-v8a, x86_64, x86)
run: |
mkdir -p aabs
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: ${{ matrix.runs_on }}-${{ matrix.bootstrap.name}}-${{ env.AAR_ARTIFACT_FILENAME }}
path: aars/${{ matrix.runs_on }}-${{ matrix.bootstrap.name}}-${{ env.AAR_ARTIFACT_FILENAME }}
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
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
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
with:
fetch-depth: 0
# 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: Rebuild updated recipes
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]
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 }}
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
steps:
- name: Coveralls Finished
uses: AndreMiras/coveralls-python-action@develop
with:
parallel-finished: true