-
Notifications
You must be signed in to change notification settings - Fork 0
121 lines (109 loc) · 4.72 KB
/
blacksmith.yml
File metadata and controls
121 lines (109 loc) · 4.72 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
name: Android Build
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
# Using Blacksmith runner for faster builds
runs-on: blacksmith-8vcpu-ubuntu-2204
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Generate Dummy Keystore
run: |
keytool -genkey -v -keystore release.keystore -alias release -keyalg RSA -keysize 2048 -validity 10000 -storepass password -keypass password -dname "CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown"
- name: Set up gradle.properties
run: |
echo 'RELEASE_STORE_FILE=../release.keystore' >> gradle.properties
echo 'RELEASE_STORE_PASSWORD=password' >> gradle.properties
echo 'RELEASE_KEY_ALIAS=release' >> gradle.properties
echo 'RELEASE_KEY_PASSWORD=password' >> gradle.properties
echo 'librera_admobAppId="none"' >> gradle.properties
echo 'librera_admobBannerId="none"' >> gradle.properties
echo 'librera_admobFullId="none"' >> gradle.properties
echo 'librera_admobRewardId="none"' >> gradle.properties
echo 'librera_appGdriveKey="none"' >> gradle.properties
echo 'epub_reader_admobAppId="none"' >> gradle.properties
echo 'epub_reader_admobBannerId="none"' >> gradle.properties
echo 'epub_reader_admobFullId="none"' >> gradle.properties
echo 'epub_reader_admobRewardId="none"' >> gradle.properties
echo 'epub_reader_appGdriveKey="none"' >> gradle.properties
echo 'pdf_v2_admobAppId="none"' >> gradle.properties
echo 'pdf_v2_admobBannerId="none"' >> gradle.properties
echo 'pdf_v2_admobFullId="none"' >> gradle.properties
echo 'pdf_v2_admobRewardId="none"' >> gradle.properties
echo 'pdf_v2_appGdriveKey="none"' >> gradle.properties
echo 'pro_appGdriveKey="none"' >> gradle.properties
echo 'pdf_classic_appGdriveKey="none"' >> gradle.properties
echo 'pdf_classic_admobAppId="none"' >> gradle.properties
echo 'pdf_classic_admobBannerId="none"' >> gradle.properties
echo 'pdf_classic_admobFullId="none"' >> gradle.properties
echo 'pdf_classic_admobRewardId="none"' >> gradle.properties
echo 'ebooka_appGdriveKey="none"' >> gradle.properties
echo 'ebooka_admobAppId="none"' >> gradle.properties
echo 'ebooka_admobBannerId="none"' >> gradle.properties
echo 'ebooka_admobFullId="none"' >> gradle.properties
echo 'ebooka_admobRewardId="none"' >> gradle.properties
echo 'tts_reader_appGdriveKey="none"' >> gradle.properties
echo 'tts_reader_admobAppId="none"' >> gradle.properties
echo 'tts_reader_admobBannerId="none"' >> gradle.properties
echo 'tts_reader_admobFullId="none"' >> gradle.properties
echo 'tts_reader_admobRewardId="none"' >> gradle.properties
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Create dummy google-services.json
run: |
cat << 'EOF' > app/google-services.json
{
"project_info": {
"project_number": "123456789012",
"project_id": "dummy-project"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:123456789012:android:0000000000000000",
"android_client_info": {
"package_name": "com.foobnix.pro.pdf.reader"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "dummy-api-key"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}
EOF
- name: Accept SDK Licenses
run: yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses || true
- name: Build native MuPDF libraries
run: |
"$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" "ndk;29.0.14206865"
export ANDROID_NDK_HOME="$ANDROID_HOME/ndk/29.0.14206865"
export MUPDF_ABIS="arm64-v8a"
bash Builder/link_to_mupdf_1.23.7.sh
find app/src/main/jniLibs -name 'libMuPDF.so' -print
test -f app/src/main/jniLibs/arm64-v8a/libMuPDF.so
- name: Build with Gradle (Pro Arm64)
run: ./gradlew app:assembleProRelease -PtargetAbi=arm64-v8a
- name: Upload arm64 APK
uses: actions/upload-artifact@v4
with:
name: Librera.Pro-APK
path: "app/build/outputs/apk/**/*arm64.apk"