CI: Use llvm-tools-preview toolchain instead of external llvm-tools toolchain
briansmith opened this issue · comments
- In
mk/{install-build-tools.sh
, should not doinstall_packages llvm-$llvm_version
. Instead we should install the tools usingrustup +$toolchain toolchain component add llvm-tools-preview
before the coverage runs. This would require us to parse "+$toolchain" out of the command line, much like we parse "--target=$target". We'd need to update ci.yml accordingly to pass+${{ matrix.rust_channel }}
on the command line. Inml/cargo.sh
, instead of using external LLVM tools for code code coverage analysis, we should use the llvm-tools-preview tools installed in the previous step. - In
mk/check-symbol-prefixes.sh
, we should similarly switch to using the llvm-tools-previewllvm-nm
, and change ci.yml accordingly. - We should change the conditional logic in ci.yml so that
mk/check-symbol-prefixes.sh
is run for apple targets, where it is currently being skipped. - We should change the conditional logic in ci.yml so that
mk/check-symbol-prefixes.sh
is run for Windows targets. (We can force the use ofbash
as the shell for Windows). This may require tweaking some of the logic. - We should change the conditional logic in ci.yml so that
mk/check-symbol-prefixes.sh
is run for all remaining targets, if at all possible.
Each checklist item above should be done as a separate PR, ideally.
PR #1908 attempts to resolve the mk/check-symbol-prefixes.sh
parts.
- mk/{install-build-tools.sh, should not do
install_packages llvm-$llvm_version
It still needs to, but only when we are in $use_clang
mode.
Instead we should install the tools using rustup +$toolchain toolchain component add llvm-tools-preview before the coverage runs. This would require us to parse "+$toolchain" out of the command line, much like we parse "--target=$target". We'd need to update ci.yml accordingly to pass +${{ matrix.rust_channel }} on the command line.
Done in PR #1980.
In mk/check-symbol-prefixes.sh, we should similarly switch to using the llvm-tools-preview llvm-nm, and change ci.yml accordingly.
We should change the conditional logic in ci.yml so that mk/check-symbol-prefixes.sh is run for apple targets, where it is currently being skipped.
Done in PR #1908.