From 2272e750960f4af9ab2115343aeb89f1977d9cf6 Mon Sep 17 00:00:00 2001 From: Djalim Simaila Date: Fri, 5 Apr 2024 13:08:52 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=89=20feat(.gitea/workflows/buildapk.y?= =?UTF-8?q?aml):=20add=20new=20GitHub=20Actions=20workflow=20for=20buildin?= =?UTF-8?q?g=20APK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This workflow triggers on every push, sets up Java, Android SDK, bun, and EAS, installs dependencies, builds the APK, zips all APK files, and uploads the zipped APK as an artifact. --- .gitea/workflows/buildapk.yaml | 55 +++++++++++++++++++++++++++++++++ android/app/build.gradle | 7 +++++ android/build.gradle | 2 +- android/gradle.properties | 2 +- bun.lockb | Bin 385771 -> 386696 bytes eas.json | 5 ++- package.json | 2 +- 7 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 .gitea/workflows/buildapk.yaml diff --git a/.gitea/workflows/buildapk.yaml b/.gitea/workflows/buildapk.yaml new file mode 100644 index 0000000..156d919 --- /dev/null +++ b/.gitea/workflows/buildapk.yaml @@ -0,0 +1,55 @@ +name: Building APK +run-name: Build APK +on: [push] +jobs: + build-apk: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: 'adopt' + java-version: '17' + + - name: Setup NodeJS + uses: actions/setup-node@v3 + with: + node-version: 18.x + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + with: + packages: '' + cmdline-tools-version: 9862592 + + - name: Setup bun + uses: oven-sh/setup-bun@v1 + + - name: Install dependencies + run: bun install + + - run: ./gradlew clean + working-directory: ./android + + - name: Setup EAS + uses: expo/expo-github-action@v8 + with: + eas-version: latest + token: ${{ secrets.EXPO_TOKEN }} + packager: bun + + - name: Build APK + run: eas build --no-wait --profile production --platform android --non-interactive --local + + - name: Zip all apk + run: | + zip apk.zip *.apk + + - name: Upload APK ZIP + uses: actions/upload-artifact@v2 + with: + name: apk + path: apk.zip diff --git a/android/app/build.gradle b/android/app/build.gradle index 33b40de..2f25c06 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -78,6 +78,13 @@ def enableProguardInReleaseBuilds = (findProperty('android.enableProguardInRelea def jscFlavor = 'org.webkit:android-jsc:+' android { + externalNativeBuild { + cmake { + path file('CMakeLists.txt') + version '3.18.1' + } + } + ndkVersion rootProject.ext.ndkVersion buildToolsVersion rootProject.ext.buildToolsVersion diff --git a/android/build.gradle b/android/build.gradle index 513b766..35e4ed1 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -8,7 +8,7 @@ buildscript { targetSdkVersion = Integer.parseInt(findProperty('android.targetSdkVersion') ?: '34') kotlinVersion = findProperty('android.kotlinVersion') ?: '1.8.10' - ndkVersion = "25.1.8937393" + ndkVersion = "26.2.11394342" } repositories { google() diff --git a/android/gradle.properties b/android/gradle.properties index 41b173c..f68353b 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -10,7 +10,7 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx512m -XX:MaxMetaspaceSize=256m -org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m +org.gradle.jvmargs=-Xmx8192m -XX:MaxMetaspaceSize=1024m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit diff --git a/bun.lockb b/bun.lockb index 4ab9db53c6243a472e5d21b3cd3dbed226a34d0f..d0f314b7fc55a4905d24aaa0440b0bab99727ff8 100755 GIT binary patch delta 9591 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 delta 8982 zcmeI2i(eJxy2oc`%~BSnVQL~56+=*xB?z)myysmr^M;}(sNpp=6%#QRUQj?lafvS= zs37(UpU?RR&UruU$Md}3dES|K z=Dp0kGh~0*;`Z4V8|)p5szWYhrk}s+w{%+CKUZbXO8hS9O!8O5?&bHtbo}7`o2w^$ zZPl1|7ACefRPmuD@qwM4VY=2%(=tERHSJN@sq^N{TY#AT;kx!P^7mjH!+v7ZwTECQ zg}bfU5=mOQ#f*F?c@W;qYwA)I$uBhNw?9pu4y^3)=FI2 zIj-Q0?s~XNYNq$JEyJbkjJ;c2DLovv8svH-r@JZ^IIKSHb*-N(xGcdo3|>!g%@xw$ zVar8sg15{uhxI0MV_m`h6Kn|`bgi3*R}693(vTaATmx6gV2AB}sc7aQ2tZBtIcx`!>x7(-D`daJW<=>)EOMsn`T&P54!IG? z>8_NK4%-^!26)PaBs#1gAlJ`ROFwi6UTj?6V-8y~a;&rN3Q2I-Dv{&GGr0%j%V<>^ zgc^i**0o-shUX%dAQz9E)l=dEaxuvHx>5!?3^PWR2BX9aF}n5)sKpg>$6X#9-5&Zs;xa3@m=yILRl8od}EBLYu^mVlA-A!c&CP^59cpiDuys z%gts+Ea$cP$YX}mG8$@5PvA-kTm{P=WWn+P*|1Es4PXmkxx@9ceWPrrC3gwm49oa3 zSQB=;Y_EW2`olWC1$STr54cMLXqm5)JS}&)U-EypL`U(52db91Q?TUcgullO(*Ll| zKW*R{ye|blhUKP<_`@r5S@K^={yHqAD<93?pko;(z_A2#}@Q$Rx+~ny>GrqOJ1tY?7k){`Q1_K`5eQ4*yH1aj^+NA zy>ITWH@-P_XhELuK;N&|ncKG%jc64-@?`f`SrZOrU)a-az?Hy<7Dk;eJ7FsyeD2nW z(#5x5+tD@feDAiXo3455I9;XZ7>TNVuF*)<JY)}1kDQpoGPUdV8%v(vji(t zlZ^oWE`YR+0ISp)g7XCJTmV_>1sA}QO#q)0tW_bK0NNJ;WNiY-Q5Og<6Lcv8Sf^GL z0c39mxJi(&qBjG?D}bWS0PEFtf?EXr6+odXQ~<@r06!79RG(siK_vjYiUEq$j|6uK z#*_dkRZ#*^RSIA&1t?L^lmd*~0&tXIi_*6M_>=)Ww*{bF9U^$0pm~`w^r>x}V+ z-gNQW^zPNao$HuU@$h-Gm6}wJo;T@Cc}1PA;P?2TYsVdBUr$}Oyy~R3eD;ouRUc_t6frshu$1p(2EZ zfw4H}|0jfX5axq?M`0bocxXJBYmvh2!tlV&r#VlG0zGUHN2U@! zQ(s|Nk7&DvJqb&fExJe809fuP5PDhIKw&{(dxZ^xWd(zwSA-1_=4=IcK;STe>>>w+ z4Hwo1%q?sLEZq>OM%XA=R;DfVp0Lrv9tZnK*cf47WCf2Oel+rj@#0uzPt>Eep8 zal*pEzJ$*XI$l_N_+Lp}5-iV{9s0Vki4w;SeM8tJ3yx2pJ^C*KlO>Qn`ftKggt132 zhuB4?2(!b_gqWs+@xWNYXs;0>Q=6PP9ClIS1?H68Cr1?^~ zEBt%H7DyacP}+TA3&GgIu~_h47MLXxhvkH(;~*Tm>B4%zw+dUz_GhQTs#p6=c9l@Kf*u!8pb@3mXnU1dK@udm6q0#&OSE2#XC4u`Ta57kLVVoto!(`|qC>-J}NtOb&LR@>;L&B!Oe@x20CTuF$ zJ@`zA$=LqWpq~UDAw>Q;Xe-1C=cuq$_@6wO04()F?JO96+5%{cu=5hP5NtIVC!BXBZV~((Fs2VAE)D(- zFit`r3R?`HC&x*MHzb|y{~|IM5y(mCV?Z|95@xBJXSU%WcFitq% z3oC%X0gQ9TKZLD^KNBno_6IQhv<*;-$!m*rM*<7sk3k?OjeiN-2%ndWlLm(=&&~z$ zYLWdcY!mzeD9iMVup;>V!JdV^3x=Pz8R{!>_jwoN4i&`9l?weTfyMC8LrlMevAIj2 zFCdO*9Xny!QYc;ehaqeW7(4Luuohuu@Y(x0Oif|Va%9dRkmJ-Ukj=ru9Fh%$ZG+Fk z9Fh%%ZHLdwa7g+HtAPI(l;!ZV3EKhxA7D(rU_6nX(4__#e;j@f3#^1+i$Jo*Qg|2q z>%txpwi_%FY#FSdus!gTz?hl{tAalPjHBvNVK2j90>+ka%Jye%_Cnv$L2536Z1Zo? zt5?8s9_Qv)pxafR!Va<)gd7?{0uRCe2|hEP;V5V=>_@O2u;Ic^z~{7F3ESR8EAUKCLQhNK z4ifkV*w4}=5yDP^@l06JCxo4b&u>pm9fh5N&p1{fQrMgD*)drGyRf&kei*Ab2oKgt z;M?%;g1rSB1;#p@h5ikP+d4~JHlI3>MpvtQ$1P#%?p{l=GZZyx2jL5lhR-}2KHF&c zD5K%ii-xZ%8orrm`0SP{W z`NDj?>T$qwDtH!Leh@HmwX9GBC>Ux91*nz>Exnpdz-GSLeg`@az3ZNN(2{6af5k~X zP#?Z#aW~q9>$4kr8QQCI4qKkKmLqbTsyl4Cqfc~SIAYmjH0Clr0pikpuvKkzTf&-5 z!*RGu8ik#46|_lRa9f%-=klNuDu+rTev26A{>^Q9NLPN<7JqlgYRhQdomXR-ru$~{ zkqN0;Et|USq)PbPfwn~2156TBYJZ3WTlOgt|za#%GRKKrt62n#B3^l3N5}3r( z?gPxl;cRFw^gP5Og;0Ib7liXLKVjD!{hVcGFV>ga$v zi$6%YyWL-2wdCtQi18%%!aB=idP9AAj6KfY*}dUQ%Yd4I`tSSoU#t!NS%*D3&hF6E zxDsWR z(Jz*7`lR(}KNVPFwha9vVCYkxxhV6E^wcAV_da>~k1eWAu^FqTG&N(5N#W|}67wT{ zzdBoL#_0Fdze~-JjgAp2sN6haq(`XCGPBfuvDj>-gStUS=tfqgn!DBX532v~fgWj_ zd^f+-_Y*^pwRf>|8L~4{`JYQ(5%R0CZmoCO0ZI8xNrdq$_qvmI;paqsM?fRWmcl98L?_) zrI{L6|8EI(E4Id5i_5r#3PjmE+tFP0|F}?QS?&s&aI7=7pknqYJY~nK?<-Az{f@ig zE_1dXRR4b*HP(ts^W8m%Jds@)>8;BV!-!Y?_LvdAkKjXa3)FE&yjrpcwQ_b_zMBMrvh=HC!d$ur||U)SMgE4Qj<{qxe4o D;4s9% diff --git a/eas.json b/eas.json index c2116d4..e37f69a 100644 --- a/eas.json +++ b/eas.json @@ -11,7 +11,10 @@ } }, "preview": { - "distribution": "internal" + "distribution": "internal", + "android": { + "buildType": "apk" + } }, "production": { "android": { diff --git a/package.json b/package.json index 91ea375..9ad5ad0 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "react-native-gesture-handler": "~2.14.0", "react-native-pager-view": "6.2.3", "react-native-paper": "^5.12.3", - "react-native-reanimated": "~3.6.2", + "react-native-reanimated": "latest", "react-native-safe-area-context": "4.8.2", "react-native-safe-area-view": "^1.1.1", "react-native-screens": "~3.29.0",