test pdf2htmlex #34
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test Android | |
on: | |
workflow_dispatch: | |
inputs: | |
package_name: | |
description: Package name | |
type: choice | |
options: | |
- odrcore | |
- pdf2htmlex | |
- fontforge | |
- poppler | |
- poppler-data | |
- cairo | |
- openlibm | |
- fontconfig | |
- glib | |
- tmpfile | |
package_version: | |
description: Package version. Specify 'newest' or leave empty to request the newest version. Specify 'all' to request all versions. | |
required: false | |
run-name: test ${{ inputs.package_name }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
generate-matrices: | |
runs-on: ubuntu-22.04 | |
outputs: | |
packages: ${{ steps.list-packages-without-dependents.outputs.packages_0 }} | |
emulator: ${{ steps.generate-emulator-matrix.outputs.matrix }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: setup python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: install python dependencies | |
run: pip install --upgrade pip pyyaml | |
- name: Get requested packages from commits and workflow_dispatch inputs | |
id: list-packages-without-dependents | |
run: python scripts/list_package_versions.py | |
env: | |
GITHUB_EVENT: ${{ toJson(github.event) }} | |
- name: Generate matrix of emulator images | |
id: generate-emulator-matrix | |
run: python scripts/emulator_matrix_generator.py | |
emulator: | |
if: ${{ needs.generate-matrices.outputs.packages != '[]' && needs.generate-matrices.outputs.packages != '' && needs.generate-matrices.outputs.emulator != '[]' }} | |
name: ${{ matrix.emulator.arch }}/${{ matrix.emulator.emulator_api_level }}/${{matrix.emulator.build_api_level}} ${{ matrix.package.package_reference }} | |
needs: | |
- generate-matrices | |
strategy: | |
fail-fast: false | |
matrix: | |
package: ${{ fromJson(needs.generate-matrices.outputs.packages) }} | |
emulator: ${{ fromJson(needs.generate-matrices.outputs.emulator) }} | |
runs-on: ubuntu-22.04 | |
env: | |
ndk_version: 26.3.11579264 | |
conan_host_profile: android-${{ matrix.emulator.build_api_level }}-${{ matrix.emulator.arch }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: setup python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: install python dependencies and setuptools (required to build GLib) | |
run: pip install --upgrade pip conan setuptools | |
- name: install NDK | |
run: echo "y" | sudo ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install "ndk;${{ env.ndk_version }}" | |
- name: conan remote | |
run: conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan | |
- name: conan config | |
run: conan config install .github/config/ubuntu-22.04/conan | |
- name: conan install | |
run: conan install ${{ matrix.package.conanfile }} --version ${{ matrix.package.version }} --build missing --profile:host ${{ env.conan_host_profile }} --profile:build ubuntu | |
- name: Enable KVM group perms | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
force-avd-creation: false | |
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -no-snapshot-save | |
api-level: ${{ matrix.emulator.emulator_api_level }} | |
arch: ${{ matrix.emulator.arch }} | |
target: ${{ matrix.emulator.api_type_target }} | |
script: conan test ${{ matrix.package.test_conanfile }} ${{ matrix.package.package_reference }} --profile:host ${{ env.conan_host_profile }} --profile:build ubuntu |