From 6a1b16a9c6c167b344414045723d9e089ba968c9 Mon Sep 17 00:00:00 2001 From: Zach Vorhies Date: Sun, 27 Sep 2026 12:21:42 -0700 Subject: [PATCH] fix(ci): map Dylint UI nightly to verified driver and sysroot --- .github/workflows/dylint.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/dylint.yml b/.github/workflows/dylint.yml index f4c79f1b..6fbae0e8 100644 --- a/.github/workflows/dylint.yml +++ b/.github/workflows/dylint.yml @@ -163,6 +163,18 @@ jobs: # UI fixtures invoke Cargo outside soldr's Dylint front door. # Reuse the verified driver fetched by `soldr dylint prepare`. export DYLINT_DRIVER_PATH="${SOLDR_CACHE_DIR:?}/dylint/drivers" + # Dylint's UI runner asks for the short nightly directory; Soldr's + # verified asset lives under the host-qualified directory. + host="$(RUSTUP_TOOLCHAIN=nightly-2026-05-28 soldr rustc -vV | sed -n 's/^host: //p')" + short="nightly-2026-05-28" + qualified="${short}-${host}" + test -f "$DYLINT_DRIVER_PATH/$qualified/dylint-driver" + test -d "${RUSTUP_HOME:?}/toolchains/$qualified" + ln -sfnT "$qualified" "$DYLINT_DRIVER_PATH/$short" + # The driver reads RUSTUP_HOME/toolchains/$RUSTUP_TOOLCHAIN + # literally. Cargo's short nightly tag must resolve to the same + # installed sysroot while keeping the lint library's short tag. + ln -sfnT "$qualified" "$RUSTUP_HOME/toolchains/$short" while IFS= read -r manifest; do RUSTUP_TOOLCHAIN=nightly-2026-05-28 \ soldr cargo test --manifest-path "$manifest"