@@ -11,41 +11,41 @@ commands:
1111 type : string
1212 steps :
1313 - run :
14- name : Make Board (console logs not contiguous because multiple CPUS used to build under CircleCI, see logs in artifacts or Output build failing logs below in case of failed step)
14+ name : Make Board (console logs not contiguous because multiple CPUs used to build under CircleCI, see logs in artifacts or Output build failing logs below in case of failed step)
1515 command : |
1616 echo "Sourcing /devenv.sh since docker entrypoint doesn't do it as expected"
1717 source /devenv.sh
18- rm -rf build/<<parameters.arch>>/<<parameters.target>>/* build/<<parameters.arch>>/log/*
19- make V=1 BOARD=<<parameters.target>> <<parameters.subcommand>> || touch ./tmpDir/failed_build
18+ rm -rf build/<< parameters.arch >>/<< parameters.target >>/* build/<< parameters.arch >>/log/*
19+ make V=1 BOARD=<< parameters.target >> << parameters.subcommand >> | ts || touch ./tmpDir/failed_build
2020 no_output_timeout : 3h
2121 - run :
2222 name : Output hashes
2323 command : |
24- cat build/<<parameters.arch>>/<<parameters.target>>/hashes.txt || echo "No hashes.txt for this build step..."
24+ cat build/<< parameters.arch >>/<< parameters.target >>/hashes.txt || echo "No hashes.txt for this build step..."
2525 - run :
2626 name : Output sizes
2727 command : |
28- cat build/<<parameters.arch>>/<<parameters.target>>/sizes.txt || echo "No sizes.txt for this build step..."
28+ cat build/<< parameters.arch >>/<< parameters.target >>/sizes.txt || echo "No sizes.txt for this build step..."
2929 - run :
3030 name : Archiving build logs.
3131 command : |
32- tar zcvf build/<<parameters.arch>>/<<parameters.target>>/logs.tar.gz $(find build/ -name "*.log")
32+ tar zcvf build/<< parameters.arch >>/<< parameters.target >>/logs.tar.gz $(find build/ -name "*.log")
3333 - run :
3434 name : Output build failing logs
3535 command : |
3636 if [[ -f ./tmpDir/failed_build ]]; then
37- find "./build/<<parameters.arch>>/" -name "*.log" -type f -mmin -1 -exec tail -n +1 '{}' +
38- exit 1
37+ find "./build/<< parameters.arch >>/" -name "*.log" -type f -mmin -1 -exec tail -n +1 '{}' +
38+ exit 1
3939 else
40- echo "Step hasn't failed. Continuing with next step..."
40+ echo "Step hasn't failed. Continuing with next step..."
4141 fi
4242 - store_artifacts :
43- path : build/<<parameters.arch>>/<<parameters.target>>
43+ path : build/<< parameters.arch >>/<< parameters.target >>
4444
4545jobs :
4646 prep_env :
4747 docker :
48- - image : tlaurion/heads-dev-env:v0.2.0
48+ - image : tlaurion/heads-dev-env:v0.2.1
4949 resource_class : large
5050 working_directory : ~/heads
5151 steps :
7373 - restore_cache :
7474 # First matched/found key wins and following keys are not tried
7575 keys :
76- # Cache for matching modules digest, validated to be exactly the same as in github current commit.
76+ # Cache for matching modules digest, validated to be exactly the same as in GitHub current commit.
7777 # This cache was made on top of below caches, if previously existing.
7878 # If no module definition changed, we reuse this one
7979 - nix-docker-heads-modules-and-patches-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
@@ -111,7 +111,7 @@ jobs:
111111
112112 build_and_persist :
113113 docker :
114- - image : tlaurion/heads-dev-env:v0.2.0
114+ - image : tlaurion/heads-dev-env:v0.2.1
115115 resource_class : large
116116 working_directory : ~/heads
117117 parameters :
@@ -126,20 +126,20 @@ jobs:
126126 - attach_workspace :
127127 at : ~/heads
128128 - build_board :
129- arch : <<parameters.arch>>
130- target : <<parameters.target>>
131- subcommand : <<parameters.subcommand>>
129+ arch : << parameters.arch >>
130+ target : << parameters.target >>
131+ subcommand : << parameters.subcommand >>
132132 - persist_to_workspace :
133133 root : ~/heads
134134 paths :
135- - packages/<<parameters.arch>>
136- - build/<<parameters.arch>>
137- - crossgcc/<<parameters.arch>>
138- - install/<<parameters.arch>>
135+ - packages/<< parameters.arch >>
136+ - build/<< parameters.arch >>
137+ - crossgcc/<< parameters.arch >>
138+ - install/<< parameters.arch >>
139139
140140 build :
141141 docker :
142- - image : tlaurion/heads-dev-env:v0.2.0
142+ - image : tlaurion/heads-dev-env:v0.2.1
143143 resource_class : large
144144 working_directory : ~/heads
145145 parameters :
@@ -160,7 +160,7 @@ jobs:
160160
161161 save_cache :
162162 docker :
163- - image : tlaurion/heads-dev-env:v0.2.0
163+ - image : tlaurion/heads-dev-env:v0.2.1
164164 resource_class : large
165165 working_directory : ~/heads
166166 steps :
@@ -176,25 +176,21 @@ jobs:
176176 - crossgcc
177177 - packages
178178 - save_cache :
179- # Generate cache for the same coreboot mnd musl-cross-make modules definition if hash is not previously existing
179+ # Generate cache for the same coreboot and musl-cross-make modules definition if hash is not previously existing
180180 # CircleCI removed their wildcard support, so we have to list precise versions to cache in directory names
181181 key : nix-docker-heads-coreboot-musl-cross-{{ checksum "./tmpDir/coreboot_musl-cross.sha256sums" }}{{ .Environment.CACHE_VERSION }}
182182 paths :
183183 - build/ppc64/coreboot-talos_2
184184 - build/ppc64/musl-cross-38e52db8358c043ae82b346a2e6e66bc86a53bc1
185185 - build/x86/coreboot-4.11
186- - build/x86/coreboot-4.13
187- - build/x86/coreboot-4.14
188- - build/x86/coreboot-4.15
189- - build/x86/coreboot-4.17
190- - build/x86/coreboot-4.22.01
191- - build/x86/coreboot-nitrokey
186+ - build/x86/coreboot-24.02.01
187+ - build/x86/coreboot-dasharo
192188 - build/x86/coreboot-purism
193189 - build/x86/musl-cross-38e52db8358c043ae82b346a2e6e66bc86a53bc1
194190 - crossgcc
195191 - packages
196192 - save_cache :
197- # Generate cache for the exact same modules definitions if hash is not previously existing
193+ # Generate cache for the exact same modules definitions if hash is not previously existing
198194 key : nix-docker-heads-modules-and-patches-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
199195 paths :
200196 - build
@@ -208,16 +204,33 @@ workflows:
208204 jobs :
209205 - prep_env
210206
207+ # This step builds musl-cross for x86 architecture, which will be used by subsequent x86 board builds
208+ - build_and_persist :
209+ name : x86-musl-cross
210+ target : x230-hotp-maximized
211+ subcommand : " musl-cross"
212+ requires :
213+ - prep_env
214+
215+ # This step builds musl-cross for ppc64 architecture, which will be used by subsequent ppc64 board builds
216+ - build_and_persist :
217+ name : ppc64-musl-cross
218+ arch : ppc64
219+ target : talos-2
220+ subcommand : " musl-cross"
221+ requires :
222+ - prep_env
223+
211224 # Below, sequentially build one board for each coreboot version.
212225 # The last board in the sequence is the dependency for the parallel boards built at the end, and also save_cache.
213226
214- # coreboot 4.22 .01
227+ # coreboot 24.02 .01
215228 - build_and_persist :
216229 name : x230-hotp-maximized
217230 target : x230-hotp-maximized
218231 subcommand : " "
219232 requires :
220- - prep_env
233+ - x86-musl-cross
221234
222235 # coreboot purism
223236 - build_and_persist :
@@ -237,7 +250,7 @@ workflows:
237250 target : nitropad-nv41
238251 subcommand : " "
239252 requires :
240- - prep_env
253+ - x86-musl-cross
241254
242255 # coreboot talos_2
243256 - build_and_persist :
@@ -246,15 +259,15 @@ workflows:
246259 target : talos-2
247260 subcommand : " "
248261 requires :
249- - prep_env
262+ - ppc64-musl-cross
250263
251264 # coreboot 4.11
252265 - build_and_persist :
253266 name : librem_l1um
254267 target : librem_l1um
255268 subcommand : " "
256269 requires :
257- - prep_env
270+ - x86-musl-cross
258271
259272 # Cache one workspace per architecture
260273 # Make sure workspace caches are chainloaded and the last in chain for an arch is saved
@@ -263,11 +276,8 @@ workflows:
263276 - talos-2
264277 - librem_14
265278
266- #
267279 # Those onboarding new boards should add their entries below.
268- #
269-
270- # coreboot 4.22.01 boards
280+ # coreboot 24.02.01 boards
271281 - build :
272282 name : x220-hotp-maximized
273283 target : x220-hotp-maximized
@@ -374,8 +384,15 @@ workflows:
374384 - x230-hotp-maximized
375385
376386 - build :
377- name : UNMAINTAINED_t530-maximized
378- target : UNMAINTAINED_t530-maximized
387+ name : t530-maximized
388+ target : t530-maximized
389+ subcommand : " "
390+ requires :
391+ - x230-hotp-maximized
392+
393+ - build :
394+ name : t530-hotp-maximized
395+ target : t530-hotp-maximized
379396 subcommand : " "
380397 requires :
381398 - x230-hotp-maximized
@@ -396,15 +413,15 @@ workflows:
396413 - x230-hotp-maximized
397414
398415 - build :
399- name : w541 -maximized
400- target : w541 -maximized
416+ name : UNTESTED_w541 -maximized
417+ target : UNTESTED_w541 -maximized
401418 subcommand : " "
402419 requires :
403420 - x230-hotp-maximized
404421
405422 - build :
406- name : w541 -hotp-maximized
407- target : w541 -hotp-maximized
423+ name : UNTESTED_w541 -hotp-maximized
424+ target : UNTESTED_w541 -hotp-maximized
408425 subcommand : " "
409426 requires :
410427 - x230-hotp-maximized
@@ -513,31 +530,3 @@ workflows:
513530 subcommand : " "
514531 requires :
515532 - librem_l1um
516-
517- # - build:
518- # name: UNMAINTAINED_kgpe-d16_workstation-usb_keyboard
519- # target: UNMAINTAINED_kgpe-d16_workstation-usb_keyboard
520- # subcommand: ""
521- # requires:
522- # - UNMAINTAINED_kgpe-d16_workstation
523-
524- # - build:
525- # name: UNMAINTAINED_kgpe-d16_server
526- # target: UNMAINTAINED_kgpe-d16_server
527- # subcommand: ""
528- # requires:
529- # - UNMAINTAINED_kgpe-d16_workstation
530-
531- # - build:
532- # name: UNMAINTAINED_kgpe-d16_server-whiptail
533- # target: UNMAINTAINED_kgpe-d16_server-whiptail
534- # subcommand: ""
535- # requires:
536- # - UNMAINTAINED_kgpe-d16_workstation
537-
538- # - build:
539- # name: librem_l1um
540- # target: librem_l1um
541- # subcommand: ""
542- # requires:
543- # - librem_14
0 commit comments