1
1
name : Build Manager
2
+
2
3
on :
3
4
push :
4
5
branches : [ "main" ]
5
- paths :
6
+ paths :
6
7
- ' .github/workflows/build-manager.yml'
7
8
- ' manager/**'
8
9
- ' userspace/ksud/**'
9
10
pull_request :
10
11
branches : [ "main" ]
11
- paths :
12
+ paths :
12
13
- ' manager/**'
13
- workflow_call :
14
+
14
15
jobs :
15
16
build-ksud :
16
17
strategy :
@@ -21,87 +22,104 @@ jobs:
21
22
uses : ./.github/workflows/ksud.yml
22
23
with :
23
24
target : ${{ matrix.target }}
25
+
24
26
build-manager :
25
27
needs : build-ksud
26
28
runs-on : ubuntu-latest
27
29
defaults :
28
30
run :
29
31
working-directory : ./manager
32
+
30
33
steps :
31
- - uses : actions/checkout@v3
32
- with :
33
- fetch-depth : 0
34
- - name : Setup need_upload
35
- id : need_upload
36
- run : |
37
- if [ ! -z "${{ secrets.BOT_TOKEN }}" ]; then
38
- echo "UPLOAD=true" >> $GITHUB_OUTPUT
39
- else
40
- echo "UPLOAD=false" >> $GITHUB_OUTPUT
41
- fi
42
- - name : set up JDK 11
43
- uses : actions/setup-java@v3
44
- with :
45
- java-version : ' 11'
46
- distribution : ' temurin'
47
- cache : gradle
48
- - uses : nttld/setup-ndk@v1
49
- with :
50
- ndk-version : r25b
51
- local-cache : true
52
- - name : Extract keystore
53
- if : ${{ ( github.event_name != 'pull_request' && github.ref == 'refs/heads/main' ) || github.ref_type == 'tag' }}
54
- run : |
55
- if [ ! -z "${{ secrets.KEYSTORE }}" ]; then
56
- echo KEYSTORE_PASSWORD='${{ secrets.KEYSTORE_PASSWORD }}' >> sign.properties
57
- echo KEY_ALIAS='${{ secrets.KEY_ALIAS }}' >> sign.properties
58
- echo KEY_PASSWORD='${{ secrets.KEY_PASSWORD }}' >> sign.properties
59
- echo KEYSTORE_FILE='../key.jks' >> sign.properties
60
- echo ${{ secrets.KEYSTORE }} | base64 --decode > key.jks
61
- fi
62
- - name : Download arm64 ksud
63
- uses : actions/download-artifact@v3
64
- with :
65
- name : ksud-aarch64-linux-android
66
- path : .
67
- - name : Download x86_64 ksud
68
- uses : actions/download-artifact@v3
69
- with :
70
- name : ksud-x86_64-linux-android
71
- path : .
72
- - name : Copy ksud to app jniLibs
73
- run : |
74
- mkdir -p app/src/main/jniLibs/arm64-v8a
75
- mkdir -p app/src/main/jniLibs/x86_64
76
- cp -f ../aarch64-linux-android/release/ksud ../manager/app/src/main/jniLibs/arm64-v8a/libksud.so
77
- cp -f ../x86_64-linux-android/release/ksud ../manager/app/src/main/jniLibs/x86_64/libksud.so
78
- - name : Grant execute permission for gradlew
79
- run : chmod +x gradlew
80
- - name : Build with Gradle
81
- run : ./gradlew clean assembleRelease
82
- - name : Upload build artifact
83
- uses : actions/upload-artifact@v3
84
- with :
85
- name : manager
86
- path : manager/app/build/outputs/apk/release/*.apk
87
- - name : Setup mutex for uploading
88
-
89
- if : github.event_name != 'pull_request' && steps.need_upload.outputs.UPLOAD == 'true'
90
- - name : Upload to telegram
91
- if : github.event_name != 'pull_request' && steps.need_upload.outputs.UPLOAD == 'true'
92
- env :
93
- CHAT_ID : ${{ secrets.CHAT_ID }}
94
- CACHE_CHAT_ID : ${{ secrets.CACHE_CHAT_ID }}
95
- BOT_TOKEN : ${{ secrets.BOT_TOKEN }}
96
- MESSAGE_THREAD_ID : ${{ secrets.MESSAGE_THREAD_ID }}
97
- COMMIT_MESSAGE : ${{ github.event.head_commit.message }}
98
- COMMIT_URL : ${{ github.event.head_commit.url }}
99
- RUN_URL : ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
100
- TITLE : Manager
101
- run : |
102
- if [ ! -z "${{ secrets.BOT_TOKEN }}" ]; then
103
- export VERSION=$(git rev-list --count HEAD)
104
- APK=$(find ./app/build/outputs/apk/release -name "*.apk")
105
- pip3 install python-telegram-bot
106
- python3 $GITHUB_WORKSPACE/scripts/ksubot.py $APK
107
- fi
34
+ - name : Checkout
35
+ uses : actions/checkout@v3
36
+ with :
37
+ fetch-depth : 0
38
+
39
+ - name : Setup need_upload
40
+ id : need_upload
41
+ run : |
42
+ if [ ! -z "${{ secrets.BOT_TOKEN }}" ]; then
43
+ echo "UPLOAD=true" >> $GITHUB_OUTPUT
44
+ else
45
+ echo "UPLOAD=false" >> $GITHUB_OUTPUT
46
+ fi
47
+
48
+ - name : Write key
49
+ if : ${{ ( github.event_name != 'pull_request' && github.ref == 'refs/heads/main' ) || github.ref_type == 'tag' }}
50
+ run : |
51
+ if [ ! -z "${{ secrets.KEYSTORE }}" ]; then
52
+ echo KEYSTORE_PASSWORD='${{ secrets.KEYSTORE_PASSWORD }}' >> gradle.properties
53
+ echo KEY_ALIAS='${{ secrets.KEY_ALIAS }}' >> gradle.properties
54
+ echo KEY_PASSWORD='${{ secrets.KEY_PASSWORD }}' >> gradle.properties
55
+ echo KEYSTORE_FILE='../key.jks' >> gradle.properties
56
+ echo ${{ secrets.KEYSTORE }} | base64 --decode > key.jks
57
+ fi
58
+
59
+ - name : Setup Java
60
+ uses : actions/setup-java@v3
61
+ with :
62
+ distribution : " temurin"
63
+ java-version : " 17"
64
+
65
+ - name : Setup Gradle
66
+ uses : gradle/gradle-build-action@v2
67
+ with :
68
+ gradle-home-cache-cleanup : true
69
+
70
+ - name : Download arm64 ksud
71
+ uses : actions/download-artifact@v3
72
+ with :
73
+ name : ksud-aarch64-linux-android
74
+ path : .
75
+
76
+ - name : Download x86_64 ksud
77
+ uses : actions/download-artifact@v3
78
+ with :
79
+ name : ksud-x86_64-linux-android
80
+ path : .
81
+
82
+ - name : Copy ksud to app jniLibs
83
+ run : |
84
+ mkdir -p app/src/main/jniLibs/arm64-v8a
85
+ mkdir -p app/src/main/jniLibs/x86_64
86
+ cp -f ../aarch64-linux-android/release/ksud ../manager/app/src/main/jniLibs/arm64-v8a/libksud.so
87
+ cp -f ../x86_64-linux-android/release/ksud ../manager/app/src/main/jniLibs/x86_64/libksud.so
88
+
89
+ - name : Build with Gradle
90
+ run : |
91
+ echo 'org.gradle.parallel=true' >> gradle.properties
92
+ echo 'org.gradle.vfs.watch=true' >> gradle.properties
93
+ echo 'org.gradle.jvmargs=-Xmx2048m' >> gradle.properties
94
+ echo 'android.native.buildOutput=verbose' >> gradle.properties
95
+ sed -i 's/org.gradle.configuration-cache=true//g' gradle.properties
96
+ ./gradlew clean assembleRelease
97
+
98
+ - name : Upload build artifact
99
+ uses : actions/upload-artifact@v3
100
+ with :
101
+ name : manager
102
+ path : manager/app/build/outputs/apk/release/*.apk
103
+
104
+ - name : Setup mutex for uploading
105
+
106
+ if : github.event_name != 'pull_request' && steps.need_upload.outputs.UPLOAD == 'true'
107
+
108
+ - name : Upload to telegram
109
+ if : github.event_name != 'pull_request' && steps.need_upload.outputs.UPLOAD == 'true'
110
+ env :
111
+ CHAT_ID : ${{ secrets.CHAT_ID }}
112
+ CACHE_CHAT_ID : ${{ secrets.CACHE_CHAT_ID }}
113
+ BOT_TOKEN : ${{ secrets.BOT_TOKEN }}
114
+ MESSAGE_THREAD_ID : ${{ secrets.MESSAGE_THREAD_ID }}
115
+ COMMIT_MESSAGE : ${{ github.event.head_commit.message }}
116
+ COMMIT_URL : ${{ github.event.head_commit.url }}
117
+ RUN_URL : ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
118
+ TITLE : Manager
119
+ run : |
120
+ if [ ! -z "${{ secrets.BOT_TOKEN }}" ]; then
121
+ export VERSION=$(git rev-list --count HEAD)
122
+ APK=$(find ./app/build/outputs/apk/release -name "*.apk")
123
+ pip3 install python-telegram-bot
124
+ python3 $GITHUB_WORKSPACE/scripts/ksubot.py $APK
125
+ fi
0 commit comments