11name : Build and Release OnePlus Kernels
22
33permissions :
4- contents : write # Allow writing to repository contents (for pushing tags)
5- actions : write # Allows triggering actions
6-
4+ contents : write
5+ actions : write
6+
77on :
88 workflow_dispatch :
99 inputs :
@@ -14,146 +14,135 @@ on:
1414 default : true
1515
1616jobs :
17- build-kernel-op11 :
18- uses : ./.github/workflows/build.yml
19- secrets : inherit
20- with :
21- model : " OP11"
22- soc : " kalama"
23- branch : " oneplus/sm8550"
24- manifest : " oneplus_11_v.xml"
25- android_version : " android13"
26- kernel_version : " 5.15"
27- build-kernel-op11r :
28- uses : ./.github/workflows/build.yml
29- secrets : inherit
30- with :
31- model : " OP11r"
32- soc : " waipio"
33- branch : " oneplus/sm8475"
34- manifest : " oneplus_11r_v.xml"
35- android_version : " android13"
36- kernel_version : " 5.10"
37- build-kernel-op12 :
38- uses : ./.github/workflows/build.yml
39- secrets : inherit
40- with :
41- model : " OP12"
42- soc : " pineapple"
43- branch : " oneplus/sm8650"
44- manifest : " oneplus12_v.xml"
45- android_version : " android14"
46- kernel_version : " 6.1"
47- build-kernel-op13r :
48- uses : ./.github/workflows/build.yml
49- secrets : inherit
50- with :
51- model : " OP13r"
52- soc : " pineapple"
53- branch : " oneplus/sm8650"
54- manifest : " oneplus_13r.xml"
55- android_version : " android14"
56- kernel_version : " 6.1"
57- build-kernel-opnord4 :
58- uses : ./.github/workflows/build.yml
59- secrets : inherit
60- with :
61- model : " OP-NORD-4"
62- soc : " pineapple"
63- branch : " oneplus/sm7675"
64- manifest : " oneplus_nord_4_v.xml"
65- android_version : " android14"
66- kernel_version : " 6.1"
67- build-kernel-opopen :
68- uses : ./.github/workflows/build.yml
69- secrets : inherit
70- with :
71- model : " OP-OPEN"
72- soc : " kalama"
73- branch : " oneplus/sm8550"
74- manifest : " oneplus_open_v.xml"
75- android_version : " android13"
76- kernel_version : " 5.15"
77- build-kernel-opace2 :
78- uses : ./.github/workflows/build.yml
79- secrets : inherit
80- with :
81- model : " OP-ACE-2"
82- soc : " waipio"
83- branch : " oneplus/sm8475"
84- manifest : " oneplus_ace2_v.xml"
85- android_version : " android13"
86- kernel_version : " 5.10"
87- build-kernel-opace2pro :
88- uses : ./.github/workflows/build.yml
89- secrets : inherit
90- with :
91- model : " OP-ACE-2-PRO"
92- soc : " kalama"
93- branch : " oneplus/sm8550"
94- manifest : " oneplus_ace2pro_v.xml"
95- android_version : " android13"
96- kernel_version : " 5.15"
97- build-kernel-opace5 :
98- uses : ./.github/workflows/build.yml
99- secrets : inherit
100- with :
101- model : " OP-ACE-5"
102- soc : " pineapple"
103- branch : " oneplus/sm8650"
104- manifest : " oneplus_ace5.xml"
105- android_version : " android14"
106- kernel_version : " 6.1"
107- build-kernel-op10t :
17+ build-batch-1 : # Non Bazel Builds
18+ strategy :
19+ fail-fast : false
20+ matrix :
21+ include :
22+ - model : OP11
23+ soc : kalama
24+ branch : oneplus/sm8550
25+ manifest : oneplus_11_v.xml
26+ android_version : android13
27+ kernel_version : " 5.15"
28+ - model : OP11r
29+ soc : waipio
30+ branch : oneplus/sm8475
31+ manifest : oneplus_11r_v.xml
32+ android_version : android13
33+ kernel_version : " 5.10"
34+ - model : OP-OPEN
35+ soc : kalama
36+ branch : oneplus/sm8550
37+ manifest : oneplus_open_v.xml
38+ android_version : android13
39+ kernel_version : " 5.15"
40+ - model : OP-ACE-2
41+ soc : waipio
42+ branch : oneplus/sm8475
43+ manifest : oneplus_ace2_v.xml
44+ android_version : android13
45+ kernel_version : " 5.10"
46+ - model : OP10t
47+ soc : waipio
48+ branch : oneplus/sm8475
49+ manifest : oneplus_10t_v.xml
50+ android_version : android12
51+ kernel_version : " 5.10"
52+ - model : OP10pro
53+ soc : waipio
54+ branch : oneplus/sm8450
55+ manifest : oneplus_10_pro_v.xml
56+ android_version : android12
57+ kernel_version : " 5.10"
58+ - model : OP-ACE-2-PRO
59+ soc : kalama
60+ branch : oneplus/sm8550
61+ manifest : oneplus_ace2pro_v.xml
62+ android_version : android13
63+ kernel_version : " 5.15"
10864 uses : ./.github/workflows/build.yml
10965 secrets : inherit
11066 with :
111- model : " OP10t"
112- soc : " waipio"
113- branch : " oneplus/sm8475"
114- manifest : " oneplus_10t_v.xml"
115- android_version : " android12"
116- kernel_version : " 5.10"
117- build-kernel-op10pro :
67+ model : ${{ matrix.model }}
68+ soc : ${{ matrix.soc }}
69+ branch : ${{ matrix.branch }}
70+ manifest : ${{ matrix.manifest }}
71+ android_version : ${{ matrix.android_version }}
72+ kernel_version : ${{ matrix.kernel_version }}
73+
74+ build-batch-2 :
75+ # needs: build-batch-1
76+ strategy :
77+ fail-fast : false
78+ matrix :
79+ include :
80+ - model : OP13
81+ soc : sun
82+ branch : oneplus/sm8750
83+ manifest : oneplus_13.xml
84+ android_version : android15
85+ kernel_version : " 6.6"
86+ - model : OPAce5Pro
87+ soc : sun
88+ branch : oneplus/sm8750
89+ manifest : oneplus_ace5_pro.xml
90+ android_version : android15
91+ kernel_version : " 6.6"
92+ - model : OP12
93+ soc : pineapple
94+ branch : oneplus/sm8650
95+ manifest : oneplus12_v.xml
96+ android_version : android14
97+ kernel_version : " 6.1"
98+ - model : OP13r
99+ soc : pineapple
100+ branch : oneplus/sm8650
101+ manifest : oneplus_13r.xml
102+ android_version : android14
103+ kernel_version : " 6.1"
104+ - model : OP-ACE-5
105+ soc : pineapple
106+ branch : oneplus/sm8650
107+ manifest : oneplus_ace5.xml
108+ android_version : android14
109+ kernel_version : " 6.1"
110+ - model : OP-NORD-4
111+ soc : pineapple
112+ branch : oneplus/sm7675
113+ manifest : oneplus_nord_4_v.xml
114+ android_version : android14
115+ kernel_version : " 6.1"
118116 uses : ./.github/workflows/build.yml
119117 secrets : inherit
120118 with :
121- model : " OP10pro "
122- soc : " waipio "
123- branch : " oneplus/sm8450 "
124- manifest : " oneplus_10_pro_v.xml "
125- android_version : " android12 "
126- kernel_version : " 5.10 "
119+ model : ${{ matrix.model }}
120+ soc : ${{ matrix.soc }}
121+ branch : ${{ matrix.branch }}
122+ manifest : ${{ matrix.manifest }}
123+ android_version : ${{ matrix.android_version }}
124+ kernel_version : ${{ matrix.kernel_version }}
127125
128126 trigger-release :
129- runs-on : ubuntu-latest
130127 needs :
131- - build-kernel-op11
132- - build-kernel-op11r
133- - build-kernel-op12
134- - build-kernel-op13r
135- - build-kernel-opnord4
136- - build-kernel-opopen
137- - build-kernel-opace2
138- - build-kernel-opace2pro
139- - build-kernel-opace5
140- - build-kernel-op10t
141- - build-kernel-op10pro
128+ - build-batch-1
129+ - build-batch-2
130+ runs-on : ubuntu-latest
142131 if : ${{ inputs.make_release }}
143132 env :
144- REPO_OWNER : TheWildJames
145- REPO_NAME : OnePlus_KernelSU_SUSFS
133+ REPO_OWNER : ${{ github.repository_owner }}
134+ REPO_NAME : ${{ github.event.repository.name }}
146135 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
147136 RELEASE_NAME : " *TEST BUILD* OnePlus Kernels With KernelSU Next & SUSFS v1.5.5 *TEST BUILD*"
148137 RELEASE_NOTES : |
149138 This release contains KernelSU Next and SUSFS v1.5.5
150-
139+
151140 Module:
152141 -> https://github.com/sidex15/ksu_module_susfs
153-
142+
154143 Non-Official Managers:
155144 -> https://github.com/KernelSU-Next/KernelSU-Next
156-
145+
157146 Features:
158147 [+] KernelSU-Next
159148 [+] SUSFS v1.5.5
@@ -163,67 +152,49 @@ jobs:
163152 [+] Magic Mount Support
164153
165154 steps :
166- # Checkout the code
167155 - name : Checkout code
168156 uses : actions/checkout@v3
169157
170- # Get the Latest Tag from GitHub
171158 - name : Generate and Create New Tag
172159 run : |
173- # Fetch the latest tag from GitHub (this is the latest tag based on the GitHub API)
174160 LATEST_TAG=$(gh api repos/$REPO_OWNER/$REPO_NAME/tags --jq '.[0].name')
175161 if [ -z "$LATEST_TAG" ]; then
176- LATEST_TAG="v1.5.5-r0" # Default to v1.5.3-0 if no tag exists
162+ LATEST_TAG="v1.5.5-r0"
177163 fi
178-
179- # Increment the suffix (e.g., v1.5.3-0 becomes v1.5.3-1)
180164 NEW_TAG=$(echo "$LATEST_TAG" | awk -F'-r' '{suffix=$2; if (!suffix) suffix=0; suffix++; printf "%s-r%d", $1, suffix}')
181-
182- # Output the new tag to be used
183165 echo "New tag: $NEW_TAG"
184-
185- # Set the new tag as an environment variable to be used in later steps
186166 echo "NEW_TAG=${NEW_TAG}" >> $GITHUB_ENV
187-
188- # Create the tag in the repository
189167 git tag $NEW_TAG
190168 git push origin $NEW_TAG
191-
192- # Download Artifacts for A12 (Only if A12 Build is successful or input is true or empty)
169+
193170 - name : Download Artifacts
194171 uses : actions/download-artifact@v4
195172 with :
196173 path : ./downloaded-artifacts
197174
198- # Create GitHub Release and upload files if make_release is true
199175 - name : Create GitHub Release
200176 uses : actions/create-release@v1
201177 with :
202- tag_name : ${{ env.NEW_TAG }} # Use the generated tag for the release
203- prerelease : true # Mark the release as a pre-release
204- release_name : ${{ env.RELEASE_NAME }} # Pass the RELEASE_NAME to the action
205- body : ${{ env.RELEASE_NOTES }} # Pass the RELEASE_NOTES to the action
178+ tag_name : ${{ env.NEW_TAG }}
179+ prerelease : true
180+ release_name : ${{ env.RELEASE_NAME }}
181+ body : ${{ env.RELEASE_NOTES }}
206182 env :
207183 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
208184
209185 - name : Upload Release Assets Dynamically
210186 run : |
211- # Loop through all files in the downloaded-artifacts directory
212187 for file in ./downloaded-artifacts/kernel-*/*; do
213- # Skip directories
214188 if [ -d "$file" ]; then
215189 continue
216190 fi
217-
218- # Upload the file to the GitHub release
219191 echo "Uploading $file..."
220192 gh release upload ${{ env.NEW_TAG }} "$file"
221193 done
222194 env :
223195 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
224196 NEW_TAG : ${{ env.NEW_TAG }}
225197
226- # Display Files Uploaded
227198 - name : Display Files Uploaded
228199 run : |
229200 echo "GitHub release created with the following files:"
0 commit comments