Commit bd91dcb
ci(dylint): add @<toolchain> alias-repair loop for cargo-dylint
cargo-dylint 5.0.0 expects loaded libraries to be named
`<name>@<toolchain>.<ext>` on disk, but cargo's first build of a
dylint crate emits the library as bare `<name>.<ext>`. The freshly-
built library therefore fails to load on the first cargo-dylint
invocation:
Error: Could not find `target/dylint/libraries/<toolchain>/release/
libban_raw_subprocess@<toolchain>.so` despite successful build
Same root cause as zccache hits in its own workflow. Mirror its
`ci/lint.py::lint_dylint_only` fix: after every cargo-dylint attempt,
scan `target/dylint/libraries/*/release/` for libraries missing the
`@<toolchain>` suffix, copy them to the aliased name, retry. Bail
after 3 attempts (or zero new aliases) so a real lint failure can't
be masked by infinite retry.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 759e734 commit bd91dcb
1 file changed
Lines changed: 40 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
50 | 56 | | |
51 | 57 | | |
52 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
0 commit comments