From fce2c8e63d439fe6735e55b1a1b057bb76c9ec9b Mon Sep 17 00:00:00 2001 From: umutdural Date: Wed, 20 Mar 2024 17:09:49 +0100 Subject: [PATCH 1/3] build: use lld by default on linux --- .cargo/config.toml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .cargo/config.toml diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..359ae44 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,5 @@ +[target.x86_64-unknown-linux-gnu] +rustflags = [ + "-C", "link-arg=-fuse-ld=lld", +] + From 7d20264a2e79cca4037efa83cfa44bf8c2f9a7af Mon Sep 17 00:00:00 2001 From: Darion Haase Date: Mon, 13 May 2024 17:38:41 +0200 Subject: [PATCH 2/3] Install LLD in build steps (GitHub Actions/Docker) Also updated the documentation to reflect the additional dependency. --- .github/workflows/create_release.yml | 8 ++++---- .github/workflows/rust.yml | 10 ++++++++++ docker/Dockerfile | 2 +- docker/single_platform.dockerfile | 2 +- website/docs/getting-started/installation.mdx | 4 ++-- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index f00e185..5401f6a 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -109,21 +109,21 @@ jobs: target: ${{ matrix.target }} - name: Install packages (Ubuntu) - if: matrix.os == 'ubuntu-latest' + if: contains(matrix.os, 'ubuntu') shell: bash run: | sudo apt-get update - sudo apt-get install cmake llvm-dev libclang-dev clang + sudo apt-get install -y cmake llvm-dev libclang-dev clang lld - name: Install packages (MacOS) - if: matrix.os == 'macos-latest' + if: contains(matrix.os, 'macos') shell: bash run: | brew update brew install cmake - name: Install packages (Windows) - if: matrix.os == 'windows-latest' + if: contains(matrix.os, 'windows') shell: bash run: | choco install -y cmake llvm diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 5dbf4a2..b4248b3 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -8,6 +8,11 @@ jobs: runs-on: [self-hosted, Linux] steps: - uses: actions/checkout@v3 + - name: Install packages + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y cmake llvm-dev libclang-dev clang lld - uses: dtolnay/rust-toolchain@stable - run: cargo test --workspace @@ -27,6 +32,11 @@ jobs: runs-on: [self-hosted, Linux] steps: - uses: actions/checkout@v3 + - name: Install packages + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y cmake llvm-dev libclang-dev clang lld - uses: dtolnay/rust-toolchain@stable with: components: clippy diff --git a/docker/Dockerfile b/docker/Dockerfile index 38657ee..e8229e3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,7 +2,7 @@ FROM --platform=$BUILDPLATFORM rust:latest AS rust-builder # install required dependencies to build z3.rs... -RUN apt-get update && apt-get install -y cmake llvm-dev libclang-dev clang +RUN apt-get update && apt-get install -y cmake llvm-dev libclang-dev clang lld WORKDIR /root/caesar COPY . . diff --git a/docker/single_platform.dockerfile b/docker/single_platform.dockerfile index 1a5560a..0b06a7a 100644 --- a/docker/single_platform.dockerfile +++ b/docker/single_platform.dockerfile @@ -2,7 +2,7 @@ FROM rust:latest as builder # install required dependencies to build z3.rs... -RUN apt-get update && apt-get install -y cmake llvm-dev libclang-dev clang +RUN apt-get update && apt-get install -y cmake llvm-dev libclang-dev clang lld WORKDIR /root/caesar COPY . . diff --git a/website/docs/getting-started/installation.mdx b/website/docs/getting-started/installation.mdx index 0f702bd..81a4d38 100644 --- a/website/docs/getting-started/installation.mdx +++ b/website/docs/getting-started/installation.mdx @@ -94,9 +94,9 @@ You might need to restart your terminal after installing Rust. ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` - 2. Install Python, CMake, LLVM and Clang using `apt`: + 2. Install Python, CMake, LLVM, Clang and LLD using `apt`: ```bash - apt install python3 cmake llvm-dev libclang-dev clang + apt install python3 cmake llvm-dev libclang-dev clang lld ``` From 6bfaa961285c84569bfd03cc02d8ae2c30d1f8e9 Mon Sep 17 00:00:00 2001 From: Darion Haase Date: Mon, 13 May 2024 19:48:06 +0200 Subject: [PATCH 3/3] Remove self-hosted runners from GitHub Actions --- .github/workflows/rust.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index b4248b3..e6a6e88 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -5,7 +5,7 @@ name: Rust jobs: test: name: Test Suite - runs-on: [self-hosted, Linux] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install packages @@ -18,7 +18,7 @@ jobs: fmt: name: Rustfmt - runs-on: [self-hosted, Linux] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable @@ -29,7 +29,7 @@ jobs: clippy: name: Clippy - runs-on: [self-hosted, Linux] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install packages