Fix cmdline-tools path and accept all SDK licenses #9
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 SmartCalc APK | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Step 1: Checkout repo | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| # Step 2: Cache pip packages | |
| - name: Cache pip | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| # Step 3: Cache Buildozer folder | |
| - name: Cache Buildozer | |
| uses: actions/cache@v3 | |
| with: | |
| path: .buildozer | |
| key: ${{ runner.os }}-buildozer-${{ hashFiles('**/buildozer.spec') }} | |
| restore-keys: | | |
| ${{ runner.os }}-buildozer- | |
| # Step 4: Install system dependencies | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt update | |
| sudo apt install -y python3-pip python3-setuptools python3-wheel git zip unzip openjdk-17-jdk wget | |
| pip install --upgrade pip | |
| pip install buildozer cython virtualenv | |
| # Step 5: Download cmdline-tools and accept Android SDK licenses | |
| - name: Accept Android SDK licenses | |
| run: | | |
| mkdir -p $HOME/.buildozer/android/platform/android-sdk/cmdline-tools | |
| # Download cmdline-tools if missing | |
| if [ ! -f $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/latest/bin/sdkmanager ]; then | |
| wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip | |
| unzip -q cmdline-tools.zip -d $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/ | |
| # Move extracted folder to 'latest' | |
| mv $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/cmdline-tools $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/latest | |
| fi | |
| # Accept all licenses | |
| yes | $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses | |
| # Step 6: Build APK | |
| - name: Build APK | |
| run: | | |
| buildozer android debug | |
| # Step 7: Upload APK artifact | |
| - name: Upload APK artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: SmartCalc-APK | |
| path: bin/*.apk |