v2026.3 #129
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: Build Android App | |
| on: | |
| push: | |
| branches: [ deploy ] | |
| pull_request: | |
| branches: [ deploy ] | |
| workflow_dispatch: | |
| permissions: | |
| actions: write | |
| checks: write | |
| contents: write | |
| deployments: write | |
| discussions: write | |
| id-token: write | |
| issues: write | |
| packages: write | |
| pages: write | |
| pull-requests: write | |
| repository-projects: write | |
| security-events: write | |
| statuses: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y pkg-config libcairo2-dev python3-dev | |
| - name: Install Python dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| # Install briefcase without extras to avoid introspection dependencies | |
| pip install briefcase==0.3.16 | |
| # Install toga directly without trying to install its gtk/gobject dependencies | |
| pip install "toga-core>=0.4.0" "toga-android>=0.4.0" | |
| - name: Create Android app | |
| working-directory: ./standalone | |
| run: | | |
| briefcase create android | |
| # Make sure we're not trying to install toga-gtk on Android | |
| briefcase build android --update-resources | |
| # Package the app to create the final versioned APK | |
| briefcase package android -p apk | |
| - name: Upload APK | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: castle-android | |
| path: | | |
| standalone/dist/Castle-*.apk | |
| if-no-files-found: warn |