7474 name : Creating musl-cross-make and musl-cross-make patches digest (musl-cross-make cache digest)
7575 command : |
7676 find ./flake.lock modules/musl-cross-make* -type f | sort -h | xargs sha256sum > ./tmpDir/musl-cross-make.sha256sums
77+ - restore_cache :
78+ # First matched/found key wins and following keys are not tried
79+ keys :
80+ # Cache for matching modules digest, validated to be exactly the same as in GitHub current commit.
81+ # This cache was made on top of below caches, if previously existing.
82+ # If no module definition changed, we reuse this one
83+ # x86 caches
84+ - nix-docker-heads-modules-x86-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
85+ - nix-docker-heads-coreboot-musl-cross-make-x86-{{ checksum "./tmpDir/coreboot_musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
86+ - nix-docker-heads-musl-cross-make-x86-{{ checksum "./tmpDir/musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
87+ # Cache for coreboot module (and patches) and musl-cross-make digests (coreboot: triannual release)
88+ # ppc64 caches
89+ - nix-docker-heads-modules-ppc64-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
90+ - nix-docker-heads-coreboot-musl-cross-make-ppc64-{{ checksum "./tmpDir/coreboot_musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
91+ - nix-docker-heads-musl-cross-make-ppc64-{{ checksum "./tmpDir/musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
7792 - run :
7893 name : Download and neuter xx20 ME (keep generated GBE and extracted IFD in tree)
7994 command : |
@@ -109,63 +124,6 @@ jobs:
109124 paths :
110125 - .
111126
112- x86-prep :
113- docker :
114- # Docker image: tlaurion/heads-dev-env:v0.2.9
115- - image : tlaurion/heads-dev-env@sha256:96f8f91c6464305c4a990d59f9ef93910c16c7fd0501a46b43b34a4600a368de
116- resource_class : large
117- working_directory : ~/heads
118- steps :
119- - attach_workspace :
120- at : ~/heads
121- - restore_cache :
122- # First matched/found key wins and following keys are not tried
123- # Cache for matching modules digest, validated to be exactly the same as in GitHub current commit.
124- # This cache was made on top of below caches, if previously existing.
125- keys :
126- - nix-docker-heads-modules-x86-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
127- - nix-docker-heads-coreboot-musl-cross-make-x86-{{ checksum "./tmpDir/coreboot_musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
128- - nix-docker-heads-musl-cross-make-x86-{{ checksum "./tmpDir/musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
129- # persist_to_workspace only runs on cache hit (when: on_success)
130- # because if cache misses, directories don't exist yet
131- - persist_to_workspace :
132- when : on_success
133- workspace : x86
134- root : ~/heads
135- paths :
136- - packages/x86
137- - build/x86
138- - crossgcc/x86
139- - install/x86
140-
141- ppc64-prep :
142- docker :
143- # Docker image: tlaurion/heads-dev-env:v0.2.9
144- - image : tlaurion/heads-dev-env@sha256:96f8f91c6464305c4a990d59f9ef93910c16c7fd0501a46b43b34a4600a368de
145- resource_class : large
146- working_directory : ~/heads
147- steps :
148- - attach_workspace :
149- at : ~/heads
150- - restore_cache :
151- # First matched/found key wins and following keys are not tried
152- # Cache for coreboot module (and patches) and musl-cross-make digests (coreboot: triannual release)
153- keys :
154- - nix-docker-heads-modules-ppc64-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
155- - nix-docker-heads-coreboot-musl-cross-make-ppc64-{{ checksum "./tmpDir/coreboot_musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
156- - nix-docker-heads-musl-cross-make-ppc64-{{ checksum "./tmpDir/musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
157- # persist_to_workspace only runs on cache hit (when: on_success)
158- # because if cache misses, directories don't exist yet
159- - persist_to_workspace :
160- when : on_success
161- workspace : ppc64
162- root : ~/heads
163- paths :
164- - packages/ppc64
165- - build/ppc64
166- - crossgcc/ppc64
167- - install/ppc64
168-
169127 build_and_persist :
170128 docker :
171129 # Docker image: tlaurion/heads-dev-env:v0.2.9
@@ -176,23 +134,18 @@ jobs:
176134 arch :
177135 type : string
178136 default : x86
179- workspace :
180- type : string
181- default : x86
182137 target :
183138 type : string
184139 subcommand :
185140 type : string
186141 steps :
187142 - attach_workspace :
188143 at : ~/heads
189- workspace : << parameters.workspace >>
190144 - build_board :
191145 arch : << parameters.arch >>
192146 target : << parameters.target >>
193147 subcommand : << parameters.subcommand >>
194148 - persist_to_workspace :
195- workspace : << parameters.workspace >>
196149 root : ~/heads
197150 paths :
198151 - packages/<< parameters.arch >>
@@ -210,17 +163,13 @@ jobs:
210163 arch :
211164 type : string
212165 default : x86
213- workspace :
214- type : string
215- default : x86
216166 target :
217167 type : string
218168 subcommand :
219169 type : string
220170 steps :
221171 - attach_workspace :
222172 at : ~/heads
223- workspace : << parameters.workspace >>
224173 - build_board :
225174 arch : <<parameters.arch>>
226175 target : <<parameters.target>>
@@ -235,7 +184,6 @@ jobs:
235184 steps :
236185 - attach_workspace :
237186 at : ~/heads
238- workspace : x86
239187 - save_cache :
240188 # Generate cache for the same musl-cross-make module definition if hash is not previously existing
241189 # CircleCI removed their wildcard support, so we have to list precise versions to cache in directory names
@@ -280,7 +228,6 @@ jobs:
280228 steps :
281229 - attach_workspace :
282230 at : ~/heads
283- workspace : ppc64
284231 - save_cache :
285232 # Generate cache for the same musl-cross-make module definition if hash is not previously existing
286233 # CircleCI removed their wildcard support, so we have to list precise versions to cache in directory names
@@ -313,30 +260,23 @@ workflows:
313260 max_auto_reruns : 3
314261 jobs :
315262 - prep_env
316- - x86-prep :
317- requires :
318- - prep_env
319- - ppc64-prep :
320- requires :
321- - prep_env
322263
323264 # This step builds musl-cross-make for x86 architecture, which will be used by subsequent x86 board builds
324265 - build_and_persist :
325266 name : x86-musl-cross-make
326267 target : EOL_t480-hotp-maximized
327268 subcommand : " musl-cross-make"
328269 requires :
329- - x86-prep
270+ - prep_env
330271
331272 # This step builds musl-cross-make for ppc64 architecture, which will be used by subsequent ppc64 board builds
332273 - build_and_persist :
333274 name : ppc64-musl-cross-make
334275 arch : ppc64
335- workspace : ppc64
336276 target : UNTESTED_talos-2
337277 subcommand : " musl-cross-make"
338278 requires :
339- - ppc64-prep
279+ - prep_env
340280
341281 # Below, sequentially build one board for each coreboot version.
342282 # The last board in the sequence is the dependency for the parallel boards built at the end, and also save_cache.
@@ -369,7 +309,6 @@ workflows:
369309 - build_and_persist :
370310 name : UNTESTED_talos-2
371311 arch : ppc64
372- workspace : ppc64
373312 target : UNTESTED_talos-2
374313 subcommand : " "
375314 requires :
0 commit comments