Commit 6eeda26
committed
debug-busybox: faithfully reproduce the i686 failure path
and capture every patch Copilot leaves behind
Two correctness gaps in the previous iteration of this throwaway
workflow caused real information loss when the user
re-investigated the original CI failure.
First, the matrix entry for the mingw32 axis pulled
git-sdk-32 by passing `architecture: i686` to
git-for-windows/setup-git-for-windows-sdk@v2. The
git-for-windows-automation build-and-deploy.yml dispatch that
hit the original mingw_pathconv / realpath conflicting-types
error runs with ARCHITECTURE='' and therefore resolves to
`architecture: x86_64`, downloads git-sdk-64-full, and
cross-builds mingw32 from the x86_64 SDK. The two SDKs ship
different mingw-w64-i686-gcc baselines (and the active
`i686-w64-mingw32-gcc` binary that gets invoked at build time
is structurally different), so the throwaway was exercising a
toolchain build that the original never sees. The result was a
spuriously green mingw32 job that hid the actual bug. The
mingw32 matrix entry now uses `sdk_architecture: x86_64` so
the same git-sdk-64 the original dispatch downloads is the one
under test, and the perl-DLL rebase dance that only the
git-sdk-32 image needs is dropped because the x86_64 SDK does
not need it.
Second, the upload-artifact glob only listed
`build.log`, the diagnosis markdown, the session tarball, and
the produced `.pkg.tar.xz`. Any file Copilot edited under
`mingw-w64-busybox/src/busybox-w32/` or created in
`mingw-w64-busybox/` (a freshly authored `.patch` file, an
amended PKGBUILD) was therefore lost when the runner was
reaped, leaving the human reviewer with the diagnosis text
but no actual code to apply. Two new steps now run with
`if: always()` and emit, for both the busybox-w32 clone and
the MINGW-packages checkout, a `git diff HEAD` against the
respective baseline plus a tar of the untracked-and-not-
ignored files. The MINGW-packages capture explicitly skips
`mingw-w64-busybox/src/`, `pkg/`, and built `.pkg.tar.*` so
makepkg's outputs do not pollute the patch artifact while
human-authored additions (new `.patch` files alongside the
PKGBUILD) are preserved.
A third preventive change records `pacman -Qi` versions of
the toolchain packages plus `--version` of every relevant
compiler binary on PATH into `toolchain-versions.log` before
the build even starts. Diagnosing "this is unexpectedly
green" or "this is unexpectedly red" against a moving SDK
target is otherwise an exercise in archaeology, since
`pacman -Syyu` tends to print "nothing to do" once the
holdback removes the offending upgrade entry from the
database. The baseline log is uploaded unconditionally so the
exact compiler revision in play is always one artifact
download away.
The Copilot CLI invocation is unchanged: it still references
the rendered prompt with `@copilot-prompt.md` so it does not
hit the cmd.exe 8 KB argv limit, and it still runs only when
the build step actually fails.
Assisted-by: Opus 4.7
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>1 parent c51f689 commit 6eeda26
1 file changed
Lines changed: 138 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
10 | 26 | | |
11 | 27 | | |
12 | 28 | | |
| |||
25 | 41 | | |
26 | 42 | | |
27 | 43 | | |
28 | | - | |
29 | | - | |
| 44 | + | |
| 45 | + | |
30 | 46 | | |
31 | 47 | | |
32 | 48 | | |
| |||
48 | 64 | | |
49 | 65 | | |
50 | 66 | | |
51 | | - | |
52 | | - | |
53 | | - | |
| 67 | + | |
| 68 | + | |
54 | 69 | | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
73 | 97 | | |
74 | 98 | | |
75 | 99 | | |
| |||
125 | 149 | | |
126 | 150 | | |
127 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
128 | 236 | | |
129 | 237 | | |
130 | 238 | | |
| |||
143 | 251 | | |
144 | 252 | | |
145 | 253 | | |
| 254 | + | |
146 | 255 | | |
147 | 256 | | |
148 | 257 | | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
149 | 264 | | |
150 | 265 | | |
0 commit comments