-
Notifications
You must be signed in to change notification settings - Fork 40
141 lines (129 loc) · 3.91 KB
/
android.build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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