Skip to content

v2026.3

v2026.3 #129

Workflow file for this run

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