Commit 8bb544b
committed
workflows: run external-package purge once per workflow, not per chunk
The repository-update workflow fans out infrastructure-download-external
across 4 chunks so download-time aptly operations stay under
strategy.matrix's 256-entry cap, and the actual per-package download
step does use CHUNK_INDEX to slice its work.
preclean / postclean don't. Both build the same (release × package)
matrix on every invocation and run repo.sh -c delete against the shared
/publishing/repository-debs repository. At 4 chunks that meant four
parallel copies of aptly's delete op touching the same database at the
same time. aptly serialises via its own lockfile so it usually doesn't
corrupt, but it's wasted work at best and a corruption hazard the
moment a lock-wait times out or is bypassed.
Gate both jobs on CHUNK_INDEX == 0 so the purge runs exactly once per
workflow, independent of the download fanout. Chunks 1..3 now skip
preclean/postclean entirely and jump straight to their slice of the
download matrix. Download parallelism is preserved; purge goes back to
being the single-threaded operation aptly's data model requires.1 parent 719a9f7 commit 8bb544b
1 file changed
+18
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
97 | 108 | | |
98 | 109 | | |
99 | 110 | | |
| |||
124 | 135 | | |
125 | 136 | | |
126 | 137 | | |
127 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
128 | 144 | | |
129 | 145 | | |
130 | 146 | | |
| |||
0 commit comments