diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 52ea04e5..b64146de 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -187,12 +187,25 @@ jobs: with: submodules: recursive - - uses: dtolnay/rust-toolchain@master + - if: runner.os == 'Linux' + uses: dtolnay/rust-toolchain@master with: toolchain: nightly components: rust-src targets: aarch64-unknown-linux-musl,x86_64-unknown-linux-musl + #### Temporary workaround for LLVM 18 not being released yet. + - if: runner.os == 'macOS' + uses: dtolnay/rust-toolchain@master + with: + toolchain: nightly-2024-02-12 + components: rust-src + targets: aarch64-unknown-linux-musl,x86_64-unknown-linux-musl + + - if: runner.os == 'macOS' + run: sed -i '' 's/nightly/nightly-2024-02-12/' test/integration-ebpf/rust-toolchain.toml + #### End of temporary workaround. + - uses: Swatinem/rust-cache@v2 - name: Install prerequisites @@ -244,7 +257,8 @@ jobs: - name: bpf-linker if: runner.os == 'macOS' # NB: rustc doesn't ship libLLVM.so on macOS, so disable proxying (default feature). - run: cargo install bpf-linker --git https://github.com/aya-rs/bpf-linker.git --no-default-features + # Remove --rev when LLVM18 is released. + run: cargo install bpf-linker --git https://github.com/aya-rs/bpf-linker.git --rev 821f92990074cb7e950e25129dcd55e20424cede --no-default-features - name: Download debian kernels if: runner.arch == 'ARM64' diff --git a/test/integration-test/build.rs b/test/integration-test/build.rs index 1aee5fea..b7c44eb8 100644 --- a/test/integration-test/build.rs +++ b/test/integration-test/build.rs @@ -243,7 +243,9 @@ fn main() { } } Message::CompilerMessage(CompilerMessage { message, .. }) => { - println!("cargo:warning={message}"); + for line in message.rendered.unwrap_or_default().split('\n') { + println!("cargo:warning={line}"); + } } Message::TextLine(line) => { println!("cargo:warning={line}"); diff --git a/xtask/src/run.rs b/xtask/src/run.rs index 639f45e5..8bba7a53 100644 --- a/xtask/src/run.rs +++ b/xtask/src/run.rs @@ -86,7 +86,9 @@ where } } Message::CompilerMessage(CompilerMessage { message, .. }) => { - println!("{message}"); + for line in message.rendered.unwrap_or_default().split('\n') { + println!("cargo:warning={line}"); + } } Message::TextLine(line) => { println!("{line}");