summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Mastracci <matthew@mastracci.com>2023-06-29 15:25:48 -0600
committerGitHub <noreply@github.com>2023-06-29 15:25:48 -0600
commit13a45ae994640d3d2a255d20afe3d9ed95edc853 (patch)
tree6caaf7c146f0039f78ffb6c5a0a9c2753932fccb
parentd98be230230ab93602d1f48ea0bdf9ddc6b0302d (diff)
chore: upgrade Rust to 1.70 and libffi-sys to 2.3.0 (#19639)
Bump: - Rust -> 1.7.0 - libffi-sys -> 2.3.0 LLVM version won't change often, but it's slightly easier to edit now.
-rwxr-xr-x.github/workflows/ci.generate.ts24
-rw-r--r--.github/workflows/ci.yml28
-rw-r--r--Cargo.lock4
-rw-r--r--ext/ffi/Cargo.toml2
-rw-r--r--rust-toolchain.toml2
5 files changed, 31 insertions, 29 deletions
diff --git a/.github/workflows/ci.generate.ts b/.github/workflows/ci.generate.ts
index 9446a44b8..6fbe41778 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 39da43682..62ed56aa3 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 e23d71f8a..c3fd56f96 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 3a1c9d7a3..2b2f0b657 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 434cca457..0538cafab 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,3 +1,3 @@
[toolchain]
-channel = "1.68.2"
+channel = "1.70"
components = ["rustfmt", "clippy"]