forked from mozilla-firefox/firefox
-
Notifications
You must be signed in to change notification settings - Fork 0
159 lines (119 loc) · 3.9 KB
/
Copy pathandroid.yml
File metadata and controls
159 lines (119 loc) · 3.9 KB
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
name: Firefox Android
on:
workflow_dispatch:
permissions:
contents: read
jobs:
build:
name: Build Firefox Android ARM64
runs-on: ubuntu-24.04
timeout-minutes: 360
steps:
# ------------------------------------------------------------
# CHECKOUT YOUR FIREFOX FORK
# ------------------------------------------------------------
- name: Checkout source
uses: actions/checkout@v4
with:
fetch-depth: 1
# ------------------------------------------------------------
# FREE DISK SPACE
# ------------------------------------------------------------
- name: Free disk space
shell: bash
run: |
set -eux
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf /opt/hostedtoolcache/CodeQL
df -h
# ------------------------------------------------------------
# FIREFOX BOOTSTRAP
# ------------------------------------------------------------
- name: Bootstrap Firefox Android
shell: bash
run: |
set -eux
./mach --no-interactive bootstrap \
--application-choice="GeckoView/Firefox for Android"
# ------------------------------------------------------------
# MOZCONFIG
# ------------------------------------------------------------
- name: Configure Firefox Android
shell: bash
run: |
set -eux
cat > mozconfig <<'EOF'
ac_add_options --enable-project=mobile/android
# ARM64 Android
ac_add_options --target=aarch64
# Release/optimized build
ac_add_options --enable-release
# Android API level
ac_add_options --with-android-min-sdk=24
EOF
echo "===== mozconfig ====="
cat mozconfig
# ------------------------------------------------------------
# CONFIGURE
# ------------------------------------------------------------
- name: Configure
shell: bash
run: |
set -eux
./mach configure
# ------------------------------------------------------------
# BUILD
# ------------------------------------------------------------
- name: Build Firefox
shell: bash
run: |
set -eux
./mach build
# ------------------------------------------------------------
# PACKAGE
# ------------------------------------------------------------
- name: Package Firefox Android
shell: bash
run: |
set -eux
./mach package
# ------------------------------------------------------------
# FIND APK
# ------------------------------------------------------------
- name: Find generated APKs
shell: bash
run: |
set -eux
echo "===== Generated APKs ====="
find . \
-type f \
-name "*.apk" \
-not -path "./.git/*" \
-print
# ------------------------------------------------------------
# COLLECT APK
# ------------------------------------------------------------
- name: Collect APKs
shell: bash
run: |
set -eux
mkdir -p artifacts
find . \
-type f \
-name "*.apk" \
-not -path "./.git/*" \
-exec cp {} artifacts/ \;
echo "===== Artifacts ====="
ls -lh artifacts/
# ------------------------------------------------------------
# UPLOAD
# ------------------------------------------------------------
- name: Upload APK
uses: actions/upload-artifact@v4
with:
name: firefox-android-arm64
path: artifacts/*.apk
if-no-files-found: error
retention-days: 30