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,54 +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- keys :
124- - nix-docker-heads-modules-x86-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
125- - nix-docker-heads-coreboot-musl-cross-make-x86-{{ checksum "./tmpDir/coreboot_musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
126- - nix-docker-heads-musl-cross-make-x86-{{ checksum "./tmpDir/musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
127- - persist_to_workspace :
128- workspace : x86
129- root : ~/heads
130- paths :
131- - packages/x86
132- - build/x86
133- - crossgcc/x86
134- - install/x86
135-
136- ppc64-prep :
137- docker :
138- # Docker image: tlaurion/heads-dev-env:v0.2.9
139- - image : tlaurion/heads-dev-env@sha256:96f8f91c6464305c4a990d59f9ef93910c16c7fd0501a46b43b34a4600a368de
140- resource_class : large
141- working_directory : ~/heads
142- steps :
143- - attach_workspace :
144- at : ~/heads
145- - restore_cache :
146- # First matched/found key wins and following keys are not tried
147- keys :
148- - nix-docker-heads-modules-ppc64-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
149- - nix-docker-heads-coreboot-musl-cross-make-ppc64-{{ checksum "./tmpDir/coreboot_musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
150- - nix-docker-heads-musl-cross-make-ppc64-{{ checksum "./tmpDir/musl-cross-make.sha256sums" }}{{ .Environment.CACHE_VERSION }}
151- - persist_to_workspace :
152- workspace : ppc64
153- root : ~/heads
154- paths :
155- - packages/ppc64
156- - build/ppc64
157- - crossgcc/ppc64
158- - install/ppc64
159-
160127 build_and_persist :
161128 docker :
162129 # Docker image: tlaurion/heads-dev-env:v0.2.9
@@ -167,23 +134,18 @@ jobs:
167134 arch :
168135 type : string
169136 default : x86
170- workspace :
171- type : string
172- default : x86
173137 target :
174138 type : string
175139 subcommand :
176140 type : string
177141 steps :
178142 - attach_workspace :
179143 at : ~/heads
180- workspace : << parameters.workspace >>
181144 - build_board :
182145 arch : << parameters.arch >>
183146 target : << parameters.target >>
184147 subcommand : << parameters.subcommand >>
185148 - persist_to_workspace :
186- workspace : << parameters.workspace >>
187149 root : ~/heads
188150 paths :
189151 - packages/<< parameters.arch >>
@@ -201,17 +163,13 @@ jobs:
201163 arch :
202164 type : string
203165 default : x86
204- workspace :
205- type : string
206- default : x86
207166 target :
208167 type : string
209168 subcommand :
210169 type : string
211170 steps :
212171 - attach_workspace :
213172 at : ~/heads
214- workspace : << parameters.workspace >>
215173 - build_board :
216174 arch : <<parameters.arch>>
217175 target : <<parameters.target>>
@@ -226,7 +184,6 @@ jobs:
226184 steps :
227185 - attach_workspace :
228186 at : ~/heads
229- workspace : x86
230187 - save_cache :
231188 # Generate cache for the same musl-cross-make module definition if hash is not previously existing
232189 # CircleCI removed their wildcard support, so we have to list precise versions to cache in directory names
@@ -271,7 +228,6 @@ jobs:
271228 steps :
272229 - attach_workspace :
273230 at : ~/heads
274- workspace : ppc64
275231 - save_cache :
276232 # Generate cache for the same musl-cross-make module definition if hash is not previously existing
277233 # CircleCI removed their wildcard support, so we have to list precise versions to cache in directory names
@@ -304,30 +260,23 @@ workflows:
304260 max_auto_reruns : 3
305261 jobs :
306262 - prep_env
307- - x86-prep :
308- requires :
309- - prep_env
310- - ppc64-prep :
311- requires :
312- - prep_env
313263
314264 # This step builds musl-cross-make for x86 architecture, which will be used by subsequent x86 board builds
315265 - build_and_persist :
316266 name : x86-musl-cross-make
317267 target : EOL_t480-hotp-maximized
318268 subcommand : " musl-cross-make"
319269 requires :
320- - x86-prep
270+ - prep_env
321271
322272 # This step builds musl-cross-make for ppc64 architecture, which will be used by subsequent ppc64 board builds
323273 - build_and_persist :
324274 name : ppc64-musl-cross-make
325275 arch : ppc64
326- workspace : ppc64
327276 target : UNTESTED_talos-2
328277 subcommand : " musl-cross-make"
329278 requires :
330- - ppc64-prep
279+ - prep_env
331280
332281 # Below, sequentially build one board for each coreboot version.
333282 # The last board in the sequence is the dependency for the parallel boards built at the end, and also save_cache.
@@ -360,7 +309,6 @@ workflows:
360309 - build_and_persist :
361310 name : UNTESTED_talos-2
362311 arch : ppc64
363- workspace : ppc64
364312 target : UNTESTED_talos-2
365313 subcommand : " "
366314 requires :
0 commit comments