Skip to content

Commit 847194a

Browse files
committed
circleci: preserve cached build artifacts, only remove logs
Signed-off-by: Thierry Laurion <insurgo@riseup.net>
1 parent 646ec0c commit 847194a

File tree

1 file changed

+17
-69
lines changed

1 file changed

+17
-69
lines changed

.circleci/config.yml

Lines changed: 17 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,21 @@ jobs:
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

Comments
 (0)