Enhance Kotlin UI test accordion content (#4296) #858
This file contains hidden or 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 build scripts | |
| 'on': | |
| pull_request: | |
| paths: | |
| - '.github/workflows/scripts-android.yml' | |
| - 'scripts/setup-workspace.sh' | |
| - 'scripts/build-android-port.sh' | |
| - 'scripts/build-android-app.sh' | |
| - 'scripts/run-android-instrumentation-tests.sh' | |
| - 'scripts/generate-android-coverage-report.sh' | |
| - 'scripts/android/lib/**/*.java' | |
| - 'scripts/android/tests/**/*.java' | |
| - 'scripts/device-runner-app/**/*.java' | |
| - 'scripts/hellocodenameone/**' | |
| - 'scripts/android/screenshots/**' | |
| - '!scripts/android/screenshots/**/*.md' | |
| - 'scripts/templates/**' | |
| - '!scripts/templates/**/*.md' | |
| - 'CodenameOne/src/**' | |
| - '!CodenameOne/src/**/*.md' | |
| - 'Ports/Android/**' | |
| - '!Ports/Android/**/*.md' | |
| - 'maven/**' | |
| - '!maven/core-unittests/**' | |
| - 'tests/**' | |
| - '!tests/**/*.md' | |
| - '!docs/**' | |
| push: | |
| branches: | |
| - master | |
| paths: | |
| - '.github/workflows/scripts-android.yml' | |
| - 'scripts/setup-workspace.sh' | |
| - 'scripts/build-android-port.sh' | |
| - 'scripts/build-android-app.sh' | |
| - 'scripts/run-android-instrumentation-tests.sh' | |
| - 'scripts/generate-android-coverage-report.sh' | |
| - 'scripts/android/lib/**/*.java' | |
| - 'scripts/android/tests/**/*.java' | |
| - 'scripts/device-runner-app/**/*.java' | |
| - 'scripts/hellocodenameone/**' | |
| - 'scripts/android/screenshots/**' | |
| - '!scripts/android/screenshots/**/*.md' | |
| - 'scripts/templates/**' | |
| - '!scripts/templates/**/*.md' | |
| - 'CodenameOne/src/**' | |
| - '!CodenameOne/src/**/*.md' | |
| - 'Ports/Android/**' | |
| - '!Ports/Android/**/*.md' | |
| - 'maven/**' | |
| - '!maven/core-unittests/**' | |
| - 'tests/**' | |
| - '!tests/**/*.md' | |
| - '!docs/**' | |
| # The token in secrets.CN1SS_GH_TOKEN was generated on | |
| # Oct 16th 2025. If in Oct 2026 builds start failing, it | |
| # means the token needs to be regenerated: | |
| # 1. Go to https://github.com/settings/tokens → “Developer settings” → “Personal access tokens”. | |
| # 2. Choose Fine-grained token (recommended). | |
| # 3. Grant: | |
| # • Repository access → select Codename One | |
| # • Permissions: | |
| # • Contents → Read and Write | |
| # • Pull requests → Read and Write | |
| # • Issues → Read and Write | |
| # 4. Copy the generated token | |
| # 5. Go to https://github.com/codenameone/CodenameOne/settings/secrets/actions | |
| # and edit the CN1SS_GH_TOKEN to use the new token | |
| jobs: | |
| build-android: | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| issues: write | |
| runs-on: ubuntu-latest | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.CN1SS_GH_TOKEN }} | |
| GH_TOKEN: ${{ secrets.CN1SS_GH_TOKEN }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup workspace | |
| run: ./scripts/setup-workspace.sh -q -DskipTests | |
| - name: Build Android port | |
| run: ./scripts/build-android-port.sh -q -DskipTests | |
| - name: Build Hello Codename One Android app | |
| id: build-android-app | |
| run: ./scripts/build-android-app.sh -q -DskipTests | |
| - name: Enable KVM for Android emulator | |
| 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 | |
| - name: Run Android instrumentation tests | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: 31 | |
| arch: x86_64 | |
| target: google_apis | |
| script: | | |
| ./scripts/run-android-instrumentation-tests.sh "${{ steps.build-android-app.outputs.gradle_project_dir }}" | |
| ./scripts/generate-android-coverage-report.sh "${{ steps.build-android-app.outputs.gradle_project_dir }}" | |
| - name: Upload emulator screenshot | |
| if: always() # still collect it if tests fail | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: emulator-screenshot | |
| path: artifacts/*.png | |
| if-no-files-found: warn | |
| retention-days: 14 | |
| compression-level: 6 | |
| - name: Upload Android Jacoco coverage report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: android-jacoco-coverage | |
| path: artifacts/android-coverage-report | |
| if-no-files-found: warn | |
| retention-days: 14 | |
| compression-level: 6 |