Update Android build workflow to upgrade pip and install dependencies #12
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
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# Used to cache dependencies with a timeout | |
- name: Get Date | |
id: get-date | |
run: | | |
echo "date=$(date -u +'%Y%m%d')" >> $GITHUB_ENV | |
shell: bash | |
- name: Cache Buildozer global directory | |
uses: actions/cache@v4 | |
with: | |
path: .buildozer_global | |
key: buildozer-global-${{ hashFiles('buildozer.spec') }} | |
- uses: actions/cache@v4 | |
with: | |
path: .buildozer | |
key: ${{ runner.os }}-${{ steps.get-date.outputs.date }}-${{ hashFiles('buildozer.spec') }} | |
# Install dependencies | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt-get install -y \ | |
build-essential \ | |
git \ | |
libsdl2-dev \ | |
libsdl2-image-dev \ | |
libsdl2-mixer-dev \ | |
libsdl2-ttf-dev \ | |
libportmidi-dev \ | |
libswscale-dev \ | |
libavformat-dev \ | |
libavcodec-dev \ | |
libunwind-dev \ | |
zlib1g-dev | |
sudo apt-get install -y \ | |
libsqlite3-dev \ | |
sqlite3 \ | |
bzip2 \ | |
libbz2-dev \ | |
zlib1g-dev \ | |
openssl \ | |
libgdbm-dev \ | |
libgdbm-compat-dev \ | |
liblzma-dev \ | |
libreadline-dev \ | |
uuid-dev \ | |
libgstreamer1.0 \ | |
gstreamer1.0-plugins-base \ | |
gstreamer1.0-plugins-good | |
sudo apt-get install -y \ | |
zip \ | |
unzip \ | |
autoconf \ | |
libtool \ | |
pkg-config \ | |
libncurses5-dev \ | |
libncursesw5-dev \ | |
libtinfo5 \ | |
cmake \ | |
libffi-dev \ | |
libssl-dev \ | |
automake | |
- name: Setup Java 21 temurin required by Gradle | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
check-latest: true | |
# Set up Python | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' #set your python version | |
cache: 'pip' # caching pip dependencies | |
- run: | | |
pip install --upgrade pip | |
pip install appdirs==1.4.4 | |
pip install argcomplete==3.5.0 | |
pip install bidict==0.23.1 | |
pip install certifi==2024.8.30 | |
pip install charset-normalizer==3.3.2 | |
pip install h11==0.14.0 | |
pip install idna==3.8 | |
pip install importlib_resources==6.4.4 | |
pip install pillow==10.4.0 | |
pip install pypng==0.20220715.0 | |
pip install python-barcode==0.15.1 | |
pip install python-engineio==4.9.1 | |
pip install python-escpos==3.1 | |
pip install python-socketio==5.11.4 | |
pip install PyYAML==6.0.2 | |
pip install qrcode==7.4.2 | |
pip install requests==2.32.3 | |
pip install setuptools==74.1.1 | |
pip install simple-websocket==1.0.0 | |
pip install six==1.16.0 | |
pip install typing_extensions==4.12.2 | |
pip install urllib3==2.2.2 | |
pip install websocket-client==1.8.0 | |
pip install wsproto==1.2.0 | |
pip install aiohttp==3.10.2 | |
pip install argparse==1.4.0 | |
pip install uuid==1.30 | |
pip install python-dotenv==1.0.1 | |
pip install platformdirs==4.2.2 | |
pip install kivy==2.3.0 | |
pip install cython==3.0.11 | |
pip install buildozer==1.5.0 | |
# Build with Buildozer | |
- name: Build with Buildozer | |
id: buildozer | |
run: | | |
yes | buildozer android debug | |
# Upload artifacts | |
- name: Upload APK artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: package | |
path: bin/*.apk |