1
+ # ===============================================
2
+ # Raspberry Pi Toolchains(raspberry-pi-cross-compilers): This project
3
+ # provides latest automated GCC Cross Compiler & Native (ARM & ARM64)
4
+ # build-scripts and precompiled standalone toolchains for Raspberry Pi.
5
+
6
+
7
+ # Copyright (C) 2020 Abhishek Thakur(@abhiTronix) <[email protected] >
8
+
9
+
10
+ # This program is free software: you can redistribute it and/or modify
11
+ # it under the terms of the GNU General Public License as published by
12
+ # the Free Software Foundation, either version 3 of the License, or
13
+ # (at your option) any later version.
14
+
15
+ # This program is distributed in the hope that it will be useful,
16
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ # GNU General Public License for more details.
19
+
20
+ # You should have received a copy of the GNU General Public License
21
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
22
+ # ===============================================
23
+
24
+ name : CI Builder Pi[64]
25
+
26
+ on :
27
+ # Trigger the workflow on push or pull request,
28
+ # but only for the master branch
29
+ push :
30
+ branches :
31
+ - master
32
+ paths-ignore :
33
+ - ' **.md'
34
+ pull_request :
35
+ branches :
36
+ - master
37
+ release :
38
+ branches :
39
+ - master
40
+
41
+ env :
42
+ CURL_VERSION : 7.68.0
43
+ CCACHE_COMPRESS : 1
44
+ CCACHE_DIR : $HOME/.ccache
45
+ USER_SFTP : ${{ secrets.USER_SFTP }}
46
+ PASSWORD_SFTP : ${{ secrets.PASSWORD_SFTP }}
47
+
48
+ jobs :
49
+ builder-64_0 :
50
+ name : BASE GCC-6.3.0 Pi[64]
51
+ runs-on : ubuntu-latest
52
+ env :
53
+ GCC_VERSION : 6.3.0
54
+ RPI_TYPE : 64
55
+ COMPILER_TYPE : CROSS
56
+ BASE : true
57
+ steps :
58
+ - uses : actions/checkout@v2
59
+ - name : before_install
60
+ run : |
61
+ sudo apt-get update -qq
62
+ sudo apt-get install -qq dos2unix -y
63
+ dos2unix build-scripts/CI/CIBB_64b
64
+ chmod +x build-scripts/CI/CIBB_64b
65
+ dos2unix patches/curl_stfp_patcher
66
+ chmod +x patches/curl_stfp_patcher
67
+ dos2unix utils/SF_deployer
68
+ chmod +x utils/SF_deployer
69
+ dos2unix utils/SF_docs_deployer
70
+ chmod +x utils/SF_docs_deployer
71
+ if : success()
72
+ - name : install
73
+ run : |
74
+ sudo apt-get -y install -qq gcc g++ gperf flex texinfo pigz gawk gfortran texinfo bison libncurses-dev ccache autoconf automake build-essential libssh2-1-dev openssl libcurl3 unzip wget
75
+ sudo /usr/sbin/update-ccache-symlinks
76
+ echo 'export PATH="/usr/lib/ccache:$PATH"' | tee -a ~/.bashrc
77
+ source ~/.bashrc && echo $PATH
78
+ if : success()
79
+ - name : script
80
+ run : bash build-scripts/CI/CIBB_64b -g $GCC_VERSION
81
+ shell : bash
82
+ if : success() && github.event_name == 'pull_request' && github.head_ref == 'base'
83
+ - name : before_script
84
+ run : bash patches/curl_stfp_patcher
85
+ shell : bash
86
+ if : success()
87
+ - name : after_success
88
+ run : |
89
+ mkdir -p $HOME/root
90
+ cp docs/gcc64.md $HOME/root/README.md
91
+ bash utils/SF_docs_deployer
92
+ shell : bash
93
+ if : success()
94
+ - name : deploy
95
+ run : bash utils/SF_deployer
96
+ shell : bash
97
+ if : success() && github.event_name == 'pull_request' && github.head_ref == 'base'
98
+ builder-64_1 :
99
+ name : Cross GCC-9.2.0 Pi[64]
100
+ needs : builder-64_0
101
+ runs-on : ubuntu-latest
102
+ env :
103
+ GCC_VERSION : 9.2.0
104
+ RPI_TYPE : 64
105
+ COMPILER_TYPE : CROSS
106
+ steps :
107
+ - uses : actions/checkout@v2
108
+ - name : before_install
109
+ run : |
110
+ sudo apt-get update -qq
111
+ sudo apt-get install -qq dos2unix -y
112
+ dos2unix build-scripts/CI/CICTB_64b
113
+ chmod +x build-scripts/CI/CICTB_64b
114
+ dos2unix patches/curl_stfp_patcher
115
+ chmod +x patches/curl_stfp_patcher
116
+ dos2unix utils/SF_deployer
117
+ chmod +x utils/SF_deployer
118
+ dos2unix utils/SF_docs_deployer
119
+ chmod +x utils/SF_docs_deployer
120
+ if : success()
121
+ - name : install
122
+ run : |
123
+ sudo apt-get -y install -qq gcc g++ gperf flex texinfo pigz gawk gfortran texinfo bison libncurses-dev ccache autoconf automake build-essential libssh2-1-dev openssl libcurl3 unzip wget
124
+ sudo /usr/sbin/update-ccache-symlinks
125
+ echo 'export PATH="/usr/lib/ccache:$PATH"' | tee -a ~/.bashrc
126
+ source ~/.bashrc && echo $PATH
127
+ if : success()
128
+ - name : script
129
+ run : bash build-scripts/CI/CICTB_64b -g $GCC_VERSION
130
+ shell : bash
131
+ if : success()
132
+ - name : before_script
133
+ run : bash patches/curl_stfp_patcher
134
+ shell : bash
135
+ if : success()
136
+ - name : after_success
137
+ run : |
138
+ cp docs/cross-gcc64.md $HOME/README.md
139
+ bash utils/SF_docs_deployer
140
+ shell : bash
141
+ if : success()
142
+ - name : deploy
143
+ run : bash utils/SF_deployer
144
+ shell : bash
145
+ if : success() && github.event_name == 'release' && github.event.action == 'published'
146
+ builder-64_1_0 :
147
+ name : Cross GCC-6.3.0 Pi[64]
148
+ needs : builder-64_0
149
+ runs-on : ubuntu-latest
150
+ env :
151
+ GCC_VERSION : 6.3.0
152
+ RPI_TYPE : 64
153
+ COMPILER_TYPE : CROSS
154
+ steps :
155
+ - uses : actions/checkout@v2
156
+ - name : before_install
157
+ run : |
158
+ sudo apt-get update -qq
159
+ sudo apt-get install -qq dos2unix -y
160
+ dos2unix build-scripts/CI/CICTB_64b
161
+ chmod +x build-scripts/CI/CICTB_64b
162
+ dos2unix patches/curl_stfp_patcher
163
+ chmod +x patches/curl_stfp_patcher
164
+ dos2unix utils/SF_deployer
165
+ chmod +x utils/SF_deployer
166
+ dos2unix utils/SF_docs_deployer
167
+ chmod +x utils/SF_docs_deployer
168
+ if : success()
169
+ - name : install
170
+ run : |
171
+ sudo apt-get -y install -qq gcc g++ gperf flex texinfo pigz gawk gfortran texinfo bison libncurses-dev ccache autoconf automake build-essential libssh2-1-dev openssl libcurl3 unzip wget
172
+ sudo /usr/sbin/update-ccache-symlinks
173
+ echo 'export PATH="/usr/lib/ccache:$PATH"' | tee -a ~/.bashrc
174
+ source ~/.bashrc && echo $PATH
175
+ if : success()
176
+ - name : script
177
+ run : bash build-scripts/CI/CICTB_64b -g $GCC_VERSION
178
+ shell : bash
179
+ if : success()
180
+ - name : before_script
181
+ run : bash patches/curl_stfp_patcher
182
+ shell : bash
183
+ if : success()
184
+ - name : deploy
185
+ run : bash utils/SF_deployer
186
+ shell : bash
187
+ if : success() && github.event_name == 'release' && github.event.action == 'published'
188
+ builder-64_1_1 :
189
+ name : Cross GCC-8.3.0 Pi[64]
190
+ needs : builder-64_0
191
+ runs-on : ubuntu-latest
192
+ env :
193
+ GCC_VERSION : 8.3.0
194
+ RPI_TYPE : 64
195
+ COMPILER_TYPE : CROSS
196
+ steps :
197
+ - uses : actions/checkout@v2
198
+ - name : before_install
199
+ run : |
200
+ sudo apt-get update -qq
201
+ sudo apt-get install -qq dos2unix -y
202
+ dos2unix build-scripts/CI/CICTB_64b
203
+ chmod +x build-scripts/CI/CICTB_64b
204
+ dos2unix patches/curl_stfp_patcher
205
+ chmod +x patches/curl_stfp_patcher
206
+ dos2unix utils/SF_deployer
207
+ chmod +x utils/SF_deployer
208
+ dos2unix utils/SF_docs_deployer
209
+ chmod +x utils/SF_docs_deployer
210
+ if : success()
211
+ - name : install
212
+ run : |
213
+ sudo apt-get -y install -qq gcc g++ gperf flex texinfo pigz gawk gfortran texinfo bison libncurses-dev ccache autoconf automake build-essential libssh2-1-dev openssl libcurl3 unzip wget
214
+ sudo /usr/sbin/update-ccache-symlinks
215
+ echo 'export PATH="/usr/lib/ccache:$PATH"' | tee -a ~/.bashrc
216
+ source ~/.bashrc && echo $PATH
217
+ if : success()
218
+ - name : script
219
+ run : bash build-scripts/CI/CICTB_64b -g $GCC_VERSION
220
+ shell : bash
221
+ if : success()
222
+ - name : before_script
223
+ run : bash patches/curl_stfp_patcher
224
+ shell : bash
225
+ if : success()
226
+ - name : deploy
227
+ run : bash utils/SF_deployer
228
+ shell : bash
229
+ if : success() && github.event_name == 'release' && github.event.action == 'published'
230
+ builder-64_2 :
231
+ name : Native GCC-9.2.0 Pi[64]
232
+ needs : [builder-64_0, builder-64_1]
233
+ runs-on : ubuntu-latest
234
+ env :
235
+ GCC_VERSION : 9.2.0
236
+ RPI_TYPE : 64
237
+ COMPILER_TYPE : NATIVE
238
+ steps :
239
+ - uses : actions/checkout@v2
240
+ - name : before_install
241
+ run : |
242
+ sudo apt-get update -qq
243
+ sudo apt-get install -qq dos2unix -y
244
+ dos2unix build-scripts/CI/CINTB_64b
245
+ chmod +x build-scripts/CI/CINTB_64b
246
+ dos2unix patches/curl_stfp_patcher
247
+ chmod +x patches/curl_stfp_patcher
248
+ dos2unix utils/SF_deployer
249
+ chmod +x utils/SF_deployer
250
+ dos2unix utils/SF_docs_deployer
251
+ chmod +x utils/SF_docs_deployer
252
+ if : success()
253
+ - name : install
254
+ run : |
255
+ sudo apt-get -y install -qq gcc g++ gperf flex texinfo pigz gawk gfortran texinfo bison libncurses-dev ccache autoconf automake build-essential libssh2-1-dev openssl libcurl3 unzip wget
256
+ sudo /usr/sbin/update-ccache-symlinks
257
+ echo 'export PATH="/usr/lib/ccache:$PATH"' | tee -a ~/.bashrc
258
+ source ~/.bashrc && echo $PATH
259
+ if : success()
260
+ - name : script
261
+ run : bash build-scripts/CI/CINTB_64b -g $GCC_VERSION
262
+ shell : bash
263
+ if : success()
264
+ - name : before_script
265
+ run : bash patches/curl_stfp_patcher
266
+ shell : bash
267
+ if : success()
268
+ - name : after_success
269
+ run : |
270
+ cp docs/native-gcc64.md $HOME/README.md
271
+ bash utils/SF_docs_deployer
272
+ shell : bash
273
+ if : success()
274
+ - name : deploy
275
+ run : bash utils/SF_deployer
276
+ shell : bash
277
+ if : success() && github.event_name == 'release' && github.event.action == 'published'
278
+ builder-64_2_1 :
279
+ name : Native GCC-8.3.0 Pi[64]
280
+ needs : [builder-64_0, builder-64_1_1]
281
+ runs-on : ubuntu-latest
282
+ env :
283
+ GCC_VERSION : 8.3.0
284
+ RPI_TYPE : 64
285
+ COMPILER_TYPE : NATIVE
286
+ steps :
287
+ - uses : actions/checkout@v2
288
+ - name : before_install
289
+ run : |
290
+ sudo apt-get update -qq
291
+ sudo apt-get install -qq dos2unix -y
292
+ dos2unix build-scripts/CI/CINTB_64b
293
+ chmod +x build-scripts/CI/CINTB_64b
294
+ dos2unix patches/curl_stfp_patcher
295
+ chmod +x patches/curl_stfp_patcher
296
+ dos2unix utils/SF_deployer
297
+ chmod +x utils/SF_deployer
298
+ dos2unix utils/SF_docs_deployer
299
+ chmod +x utils/SF_docs_deployer
300
+ if : success()
301
+ - name : install
302
+ run : |
303
+ sudo apt-get -y install -qq gcc g++ gperf flex texinfo pigz gawk gfortran texinfo bison libncurses-dev ccache autoconf automake build-essential libssh2-1-dev openssl libcurl3 unzip wget
304
+ sudo /usr/sbin/update-ccache-symlinks
305
+ echo 'export PATH="/usr/lib/ccache:$PATH"' | tee -a ~/.bashrc
306
+ source ~/.bashrc && echo $PATH
307
+ if : success()
308
+ - name : script
309
+ run : bash build-scripts/CI/CINTB_64b -g $GCC_VERSION
310
+ shell : bash
311
+ if : success()
312
+ - name : before_script
313
+ run : bash patches/curl_stfp_patcher
314
+ shell : bash
315
+ if : success()
316
+ - name : deploy
317
+ run : bash utils/SF_deployer
318
+ shell : bash
319
+ if : success() && github.event_name == 'release' && github.event.action == 'published'
0 commit comments