diff --git a/.github/workflows/ci.generate.ts b/.github/workflows/ci.generate.ts index 9446a44b80..6fbe41778a 100755 --- a/.github/workflows/ci.generate.ts +++ b/.github/workflows/ci.generate.ts @@ -5,7 +5,7 @@ import * as yaml from "https://deno.land/std@0.173.0/encoding/yaml.ts"; // Bump this number when you want to purge the cache. // Note: the tools/release/01_bump_crate_versions.ts script will update this version // automatically via regex, so ensure that this line maintains this format. -const cacheVersion = 41; +const cacheVersion = 42; const Runners = (() => { const ubuntuRunner = "ubuntu-22.04"; @@ -27,19 +27,21 @@ const Runners = (() => { const prCacheKeyPrefix = `${cacheVersion}-cargo-target-\${{ matrix.os }}-\${{ matrix.profile }}-\${{ matrix.job }}-`; +// Note that you may need to add more version to the `apt-get remove` line below if you change this +const llvmVersion = 16; const installPkgsCommand = - "sudo apt-get install --no-install-recommends debootstrap clang-15 lld-15 clang-tools-15 clang-format-15 clang-tidy-15"; + `sudo apt-get install --no-install-recommends debootstrap clang-${llvmVersion} lld-${llvmVersion} clang-tools-${llvmVersion} clang-format-${llvmVersion} clang-tidy-${llvmVersion}`; const sysRootStep = { name: "Set up incremental LTO and sysroot build", run: `# Avoid running man-db triggers, which sometimes takes several minutes # to complete. sudo apt-get remove --purge -y man-db # Remove older clang before we install -sudo apt-get remove 'clang-12*' 'clang-13*' 'clang-14*' 'llvm-12*' 'llvm-13*' 'llvm-14*' 'lld-12*' 'lld-13*' 'lld-14*' +sudo apt-get remove 'clang-12*' 'clang-13*' 'clang-14*' 'clang-15*' 'llvm-12*' 'llvm-13*' 'llvm-14*' 'llvm-15*' 'lld-12*' 'lld-13*' 'lld-14*' 'lld-15*' -# Install clang-15, lld-15, and debootstrap. -echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main" | - sudo dd of=/etc/apt/sources.list.d/llvm-toolchain-jammy-15.list +# Install clang-XXX, lld-XXX, and debootstrap. +echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${llvmVersion} main" | + sudo dd of=/etc/apt/sources.list.d/llvm-toolchain-jammy-${llvmVersion}.list curl https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/llvm-snapshot.gpg @@ -78,8 +80,8 @@ CARGO_PROFILE_RELEASE_INCREMENTAL=false CARGO_PROFILE_RELEASE_LTO=false RUSTFLAGS<<__1 -C linker-plugin-lto=true - -C linker=clang-15 - -C link-arg=-fuse-ld=lld-15 + -C linker=clang-${llvmVersion} + -C link-arg=-fuse-ld=lld-${llvmVersion} -C link-arg=--sysroot=/sysroot -C link-arg=-ldl -C link-arg=-Wl,--allow-shlib-undefined @@ -90,8 +92,8 @@ RUSTFLAGS<<__1 __1 RUSTDOCFLAGS<<__1 -C linker-plugin-lto=true - -C linker=clang-15 - -C link-arg=-fuse-ld=lld-15 + -C linker=clang-${llvmVersion} + -C link-arg=-fuse-ld=lld-${llvmVersion} -C link-arg=--sysroot=/sysroot -C link-arg=-ldl -C link-arg=-Wl,--allow-shlib-undefined @@ -99,7 +101,7 @@ RUSTDOCFLAGS<<__1 -C link-arg=-Wl,--thinlto-cache-policy,cache_size_bytes=700m \${{ env.RUSTFLAGS }} __1 -CC=clang-15 +CC=clang-${llvmVersion} CFLAGS=-flto=thin --sysroot=/sysroot __0`, }; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 39da436825..62ed56aa3b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -216,17 +216,17 @@ jobs: # to complete. sudo apt-get remove --purge -y man-db # Remove older clang before we install - sudo apt-get remove 'clang-12*' 'clang-13*' 'clang-14*' 'llvm-12*' 'llvm-13*' 'llvm-14*' 'lld-12*' 'lld-13*' 'lld-14*' + sudo apt-get remove 'clang-12*' 'clang-13*' 'clang-14*' 'clang-15*' 'llvm-12*' 'llvm-13*' 'llvm-14*' 'llvm-15*' 'lld-12*' 'lld-13*' 'lld-14*' 'lld-15*' - # Install clang-15, lld-15, and debootstrap. - echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main" | - sudo dd of=/etc/apt/sources.list.d/llvm-toolchain-jammy-15.list + # Install clang-XXX, lld-XXX, and debootstrap. + echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main" | + sudo dd of=/etc/apt/sources.list.d/llvm-toolchain-jammy-16.list curl https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/llvm-snapshot.gpg sudo apt-get update # this was unreliable sometimes, so try again if it fails - sudo apt-get install --no-install-recommends debootstrap clang-15 lld-15 clang-tools-15 clang-format-15 clang-tidy-15 || echo 'Failed. Trying again.' && sudo apt-get clean && sudo apt-get update && sudo apt-get install --no-install-recommends debootstrap clang-15 lld-15 clang-tools-15 clang-format-15 clang-tidy-15 + sudo apt-get install --no-install-recommends debootstrap clang-16 lld-16 clang-tools-16 clang-format-16 clang-tidy-16 || echo 'Failed. Trying again.' && sudo apt-get clean && sudo apt-get update && sudo apt-get install --no-install-recommends debootstrap clang-16 lld-16 clang-tools-16 clang-format-16 clang-tidy-16 # Fix alternatives (yes '' | sudo update-alternatives --force --all) || true @@ -259,8 +259,8 @@ jobs: CARGO_PROFILE_RELEASE_LTO=false RUSTFLAGS<<__1 -C linker-plugin-lto=true - -C linker=clang-15 - -C link-arg=-fuse-ld=lld-15 + -C linker=clang-16 + -C link-arg=-fuse-ld=lld-16 -C link-arg=--sysroot=/sysroot -C link-arg=-ldl -C link-arg=-Wl,--allow-shlib-undefined @@ -271,8 +271,8 @@ jobs: __1 RUSTDOCFLAGS<<__1 -C linker-plugin-lto=true - -C linker=clang-15 - -C link-arg=-fuse-ld=lld-15 + -C linker=clang-16 + -C link-arg=-fuse-ld=lld-16 -C link-arg=--sysroot=/sysroot -C link-arg=-ldl -C link-arg=-Wl,--allow-shlib-undefined @@ -280,7 +280,7 @@ jobs: -C link-arg=-Wl,--thinlto-cache-policy,cache_size_bytes=700m ${{ env.RUSTFLAGS }} __1 - CC=clang-15 + CC=clang-16 CFLAGS=-flto=thin --sysroot=/sysroot __0 - name: Log versions @@ -304,8 +304,8 @@ jobs: path: |- ~/.cargo/registry/index ~/.cargo/registry/cache - key: '41-cargo-home-${{ matrix.os }}-${{ hashFiles(''Cargo.lock'') }}' - restore-keys: '41-cargo-home-${{ matrix.os }}' + key: '42-cargo-home-${{ matrix.os }}-${{ hashFiles(''Cargo.lock'') }}' + restore-keys: '42-cargo-home-${{ matrix.os }}' if: '!(github.event_name == ''pull_request'' && matrix.skip_pr)' - name: Restore cache build output (PR) uses: actions/cache/restore@v3 @@ -317,7 +317,7 @@ jobs: !./target/*/*.zip !./target/*/*.tar.gz key: never_saved - restore-keys: '41-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-' + restore-keys: '42-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-' - name: Apply and update mtime cache if: '!(github.event_name == ''pull_request'' && matrix.skip_pr) && (!startsWith(github.ref, ''refs/tags/''))' uses: ./.github/mtime_cache @@ -605,7 +605,7 @@ jobs: !./target/*/gn_out !./target/*/*.zip !./target/*/*.tar.gz - key: '41-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}' + key: '42-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}' publish-canary: name: publish canary runs-on: ubuntu-22.04 diff --git a/Cargo.lock b/Cargo.lock index e23d71f8a5..c3fd56f960 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2904,9 +2904,9 @@ dependencies = [ [[package]] name = "libffi-sys" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc65067b78c0fc069771e8b9a9e02df71e08858bec92c1f101377c67b9dca7c7" +checksum = "f36115160c57e8529781b4183c2bb51fdc1f6d6d1ed345591d84be7703befb3c" dependencies = [ "cc", ] diff --git a/ext/ffi/Cargo.toml b/ext/ffi/Cargo.toml index 3a1c9d7a33..2b2f0b657f 100644 --- a/ext/ffi/Cargo.toml +++ b/ext/ffi/Cargo.toml @@ -18,7 +18,7 @@ deno_core.workspace = true dlopen.workspace = true dynasmrt = "1.2.3" libffi = "=3.2.0" -libffi-sys = "=2.2.1" +libffi-sys = "=2.3.0" serde.workspace = true serde-value = "0.7" serde_json = "1.0" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 434cca4575..0538cafabc 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.68.2" +channel = "1.70" components = ["rustfmt", "clippy"]