From 8bd15b9c1d75cc717b681705d941cfbaaf641015 Mon Sep 17 00:00:00 2001 From: Edmund Kump Date: Mon, 9 Feb 2026 18:33:17 -0500 Subject: [PATCH 1/3] update nightly in CI to 2026-02-08 --- .github/workflows/coverage.yml | 2 +- .github/workflows/fuzz.yml | 4 ++-- .github/workflows/lint.yml | 6 +++--- .github/workflows/miri.yml | 4 ++-- .github/workflows/pr-title-semver-check.yml | 2 +- .github/workflows/release-proposal-dispatch.yml | 2 ++ .gitlab/fuzz.yml | 2 +- 7 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 83874c5cec..33619c8c3f 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -27,7 +27,7 @@ jobs: swap-storage: true - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - name: Install Rust - run: rustup install nightly-2024-12-16 && rustup default nightly-2024-12-16 + run: rustup install nightly-2026-02-08 && rustup default nightly-2026-02-08 - name: Install cargo-llvm-cov uses: taiki-e/install-action@2c41309d51ede152b6f2ee6bf3b71e6dc9a8b7df # 2.49.27 with: diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index e303c39cdd..a44010700f 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -16,8 +16,8 @@ jobs: run: | set -e rustup set profile minimal - rustup toolchain install nightly-2024-12-16 - rustup default nightly-2024-12-16 + rustup toolchain install nightly-2026-02-08 + rustup default nightly-2026-02-08 - uses: taiki-e/install-action@2c41309d51ede152b6f2ee6bf3b71e6dc9a8b7df # 2.49.27 with: tool: cargo-bolero diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5687e17bd7..b33af83d94 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -22,8 +22,8 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - - name: Install nightly-2024-12-16 toolchain and rustfmt - run: rustup install nightly-2024-12-16 && rustup default nightly-2024-12-16 && rustup component add rustfmt + - name: Install nightly-2026-02-08 toolchain and rustfmt + run: rustup install nightly-2026-02-08 && rustup default nightly-2026-02-08 && rustup component add rustfmt - name: Cache [rust] uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # 2.8.1 with: @@ -36,7 +36,7 @@ jobs: strategy: fail-fast: false matrix: - rust_version: ["1.84.1", "stable", "nightly-2024-12-16"] + rust_version: ["1.84.1", "stable", "nightly-2026-02-08"] platform: [windows-latest, ubuntu-latest] steps: - name: Checkout sources diff --git a/.github/workflows/miri.yml b/.github/workflows/miri.yml index c6bb1836c8..ddb8bdbe69 100644 --- a/.github/workflows/miri.yml +++ b/.github/workflows/miri.yml @@ -18,8 +18,8 @@ jobs: run: | set -e rustup set profile minimal - rustup toolchain install nightly-2024-12-16 --component miri - rustup default nightly-2024-12-16 + rustup toolchain install nightly-2026-02-08 --component miri + rustup default nightly-2026-02-08 - uses: taiki-e/install-action@2c41309d51ede152b6f2ee6bf3b71e6dc9a8b7df # 2.49.27 with: tool: nextest@0.9.96 diff --git a/.github/workflows/pr-title-semver-check.yml b/.github/workflows/pr-title-semver-check.yml index 89c3e1b6de..5d87c7c1ea 100644 --- a/.github/workflows/pr-title-semver-check.yml +++ b/.github/workflows/pr-title-semver-check.yml @@ -89,7 +89,7 @@ jobs: persist-credentials: false - name: Install Rust ${{ env.RUST_VERSION }} - run: rustup install ${{ env.RUST_VERSION }} && rustup default ${{ env.RUST_VERSION }} && rustup install nightly --profile minimal + run: rustup install ${{ env.RUST_VERSION }} && rustup default ${{ env.RUST_VERSION }} && rustup install nightly-2026-02-08 --profile minimal - name: Cache [rust] uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # 2.8.1 diff --git a/.github/workflows/release-proposal-dispatch.yml b/.github/workflows/release-proposal-dispatch.yml index dd25c0751c..595ac49a1f 100644 --- a/.github/workflows/release-proposal-dispatch.yml +++ b/.github/workflows/release-proposal-dispatch.yml @@ -95,6 +95,8 @@ jobs: with: cache-targets: true - uses: dtolnay/rust-toolchain@nightly + with: + toolchain: nightly-2026-02-08 - uses: dtolnay/rust-toolchain@stable with: toolchain: 1.92.0 diff --git a/.gitlab/fuzz.yml b/.gitlab/fuzz.yml index aa49dfc225..4c51a8eca4 100644 --- a/.gitlab/fuzz.yml +++ b/.gitlab/fuzz.yml @@ -22,7 +22,7 @@ fuzz: timeout: 1h script: - VAULT_VERSION=1.15.4 && curl -fsSL "https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip" -o vault.zip && unzip vault.zip && mv vault /usr/local/bin/vault && rm vault.zip && chmod +x /usr/local/bin/vault - - rustup default nightly + - rustup default nightly-2026-02-08 - cargo install cargo-fuzz - pip3 install requests toml - python3 fuzz/fuzz_infra.py From ab449a0c214fd4757e3a1d4ed4817a4eb7394221 Mon Sep 17 00:00:00 2001 From: Edmund Kump Date: Mon, 9 Feb 2026 18:46:37 -0500 Subject: [PATCH 2/3] clippy nightly warning cleanup --- bin_tests/src/lib.rs | 5 +---- bin_tests/tests/crashtracker_bin_test.rs | 4 +++- libdd-crashtracker/src/collector/api.rs | 1 + libdd-crashtracker/src/receiver/receive_report.rs | 3 ++- libdd-library-config/src/lib.rs | 7 +------ tools/src/lib.rs | 5 +---- 6 files changed, 9 insertions(+), 16 deletions(-) diff --git a/bin_tests/src/lib.rs b/bin_tests/src/lib.rs index ad7ced9f3c..e04b4427dd 100644 --- a/bin_tests/src/lib.rs +++ b/bin_tests/src/lib.rs @@ -24,10 +24,7 @@ fn get_base_target_dir() -> &'static PathBuf { // Otherwise, find the target directory by walking up from the current binary. let test_bin_location = PathBuf::from(env::args().next().unwrap()); let mut location_components = test_bin_location.components().rev().peekable(); - loop { - let Some(c) = location_components.peek() else { - break; - }; + while let Some(c) = location_components.peek() { if c.as_os_str() == "target" { break; } diff --git a/bin_tests/tests/crashtracker_bin_test.rs b/bin_tests/tests/crashtracker_bin_test.rs index 6c1db54358..60c3e503b5 100644 --- a/bin_tests/tests/crashtracker_bin_test.rs +++ b/bin_tests/tests/crashtracker_bin_test.rs @@ -10,10 +10,12 @@ use std::process; use std::{fs, path::PathBuf}; use anyhow::Context; +#[cfg(all(target_os = "linux", not(target_env = "musl")))] +use bin_tests::test_runner::run_crash_no_op; use bin_tests::{ artifacts::{self, StandardArtifacts}, build_artifacts, - test_runner::{run_crash_no_op, run_crash_test_with_artifacts, CrashTestConfig, ValidatorFn}, + test_runner::{run_crash_test_with_artifacts, CrashTestConfig, ValidatorFn}, test_types::{CrashType, TestMode}, validation::PayloadValidator, ArtifactsBuild, BuildProfile, diff --git a/libdd-crashtracker/src/collector/api.rs b/libdd-crashtracker/src/collector/api.rs index 72789d311e..d20697b523 100644 --- a/libdd-crashtracker/src/collector/api.rs +++ b/libdd-crashtracker/src/collector/api.rs @@ -17,6 +17,7 @@ pub fn default_signals() -> Vec { Vec::from(DEFAULT_SYMBOLS) } +#[cfg(target_os = "linux")] pub(super) fn mark_preload_logger_collector() { // This function is specific only for LD_PRELOAD testing // Best effort; this symbol exists only when the preload logger preload is present. diff --git a/libdd-crashtracker/src/receiver/receive_report.rs b/libdd-crashtracker/src/receiver/receive_report.rs index 3528337a48..0b8d5f5840 100644 --- a/libdd-crashtracker/src/receiver/receive_report.rs +++ b/libdd-crashtracker/src/receiver/receive_report.rs @@ -15,7 +15,6 @@ use libdd_telemetry::data::LogLevel; use serde::{Deserialize, Serialize}; use std::sync::Arc; use std::time::{Duration, Instant}; -use std::{fs, path::PathBuf}; use tokio::io::AsyncBufReadExt; #[derive(Debug)] @@ -524,6 +523,8 @@ pub(crate) async fn receive_report_from_stream( #[cfg(target_os = "linux")] fn enrich_thread_name(builder: &mut CrashInfoBuilder) -> anyhow::Result<()> { + use std::{fs, path::PathBuf}; + if builder.error.thread_name.is_some() { return Ok(()); } diff --git a/libdd-library-config/src/lib.rs b/libdd-library-config/src/lib.rs index 24c5d16a3b..6374ba650f 100644 --- a/libdd-library-config/src/lib.rs +++ b/libdd-library-config/src/lib.rs @@ -45,18 +45,13 @@ impl<'a> MatchMaps<'a> { fn args(&self, process_info: &'a ProcessInfo) -> &HashMap<&str, &str> { self.args_map.get_or_init(|| { let mut map = HashMap::new(); - let mut args = process_info.args.iter().peekable(); - loop { - let Some(arg) = args.next() else { - break; - }; + for arg in &process_info.args { let Ok(arg) = std::str::from_utf8(arg.deref()) else { continue; }; // Split args between key and value on '=' if let Some((k, v)) = arg.split_once('=') { map.insert(k, v); - continue; } } map diff --git a/tools/src/lib.rs b/tools/src/lib.rs index 81d65e2b85..60c3d0ae04 100644 --- a/tools/src/lib.rs +++ b/tools/src/lib.rs @@ -32,10 +32,7 @@ pub mod headers { let mut items = Vec::new(); let mut start = 0; - loop { - let Some(head) = ITEM_DEFINITION_HEAD.captures_at(header, start) else { - break; - }; + while let Some(head) = ITEM_DEFINITION_HEAD.captures_at(header, start) { start = head.get(0).unwrap().start(); let end: usize; if let Some(capture) = head.get(2) { From 419e9a92ce8416e5892bf3e7a58c674ffdce85a4 Mon Sep 17 00:00:00 2001 From: Edmund Kump Date: Mon, 9 Feb 2026 19:02:10 -0500 Subject: [PATCH 3/3] symlink pinned nightly as nightly for actions --- .github/workflows/pr-title-semver-check.yml | 6 +++++- .github/workflows/release-proposal-dispatch.yml | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-title-semver-check.yml b/.github/workflows/pr-title-semver-check.yml index 5d87c7c1ea..b4891a3507 100644 --- a/.github/workflows/pr-title-semver-check.yml +++ b/.github/workflows/pr-title-semver-check.yml @@ -89,7 +89,11 @@ jobs: persist-credentials: false - name: Install Rust ${{ env.RUST_VERSION }} - run: rustup install ${{ env.RUST_VERSION }} && rustup default ${{ env.RUST_VERSION }} && rustup install nightly-2026-02-08 --profile minimal + run: | + rustup install ${{ env.RUST_VERSION }} && rustup default ${{ env.RUST_VERSION }} + rustup toolchain install nightly-2026-02-08 --profile minimal + # Link the dated nightly as 'nightly' for tools (like cargo-public-api) that expect it + ln -sf ~/.rustup/toolchains/nightly-2026-02-08-x86_64-unknown-linux-gnu ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu - name: Cache [rust] uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # 2.8.1 diff --git a/.github/workflows/release-proposal-dispatch.yml b/.github/workflows/release-proposal-dispatch.yml index 595ac49a1f..17f842042c 100644 --- a/.github/workflows/release-proposal-dispatch.yml +++ b/.github/workflows/release-proposal-dispatch.yml @@ -97,6 +97,8 @@ jobs: - uses: dtolnay/rust-toolchain@nightly with: toolchain: nightly-2026-02-08 + - name: Link nightly toolchain for cargo-public-api + run: ln -sf ~/.rustup/toolchains/nightly-2026-02-08-x86_64-unknown-linux-gnu ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu - uses: dtolnay/rust-toolchain@stable with: toolchain: 1.92.0