Skip to content

Migrate to edition 2024 and upgrade dependencies#65

Merged
wu-sheng merged 25 commits intoapache:masterfrom
jmjoy:msrv
Apr 2, 2025
Merged

Migrate to edition 2024 and upgrade dependencies#65
wu-sheng merged 25 commits intoapache:masterfrom
jmjoy:msrv

Conversation

@jmjoy
Copy link
Member

@jmjoy jmjoy commented Mar 25, 2025

This pull request includes several updates to the CI/CD workflows and dependencies to ensure compatibility with newer versions of Ubuntu and Rust. Additionally, there are updates to the Cargo.toml file and improvements to the build.rs script.

CI/CD Workflow Updates:

  • Updated the GitHub Actions workflows to run on ubuntu-24.04 instead of ubuntu-20.04 in .github/workflows/ci.yaml, .github/workflows/codecov.yaml, and .github/workflows/e2e.yml. [1] [2] [3]
  • Updated the Rust toolchain to nightly-2025-03-24 and modified the commands to use this version in .github/workflows/ci.yaml. [1] [2] [3]
  • Replaced the usage of actions-rs/tarpaulin with a manual installation and execution of Tarpaulin in .github/workflows/codecov.yaml.
  • Improved the e2e testing setup by using uv for Python dependency management and added a step to list Kafka topics in .github/workflows/e2e.yml.

Dependency Updates:

  • Updated various dependencies in Cargo.toml to their latest versions, including base64, bytes, futures-core, futures-util, hostname, parking_lot, portable-atomic, prost, prost-derive, rdkafka, serde, systemstat, thiserror, tokio, tokio-stream, tonic, tracing, and uuid.
  • Updated the Rust edition to 2024 and the rust-version to 1.85 in Cargo.toml.

Build Script Improvements:

  • Added the tonic_build::Config to the build.rs script to configure the Protobuf compiler when the vendored feature is enabled.

Other Changes:

  • Added licensing information to the .python-version file.

@jmjoy jmjoy added this to the 0.9.0 milestone Mar 25, 2025
@codecov-commenter
Copy link

codecov-commenter commented Mar 26, 2025

Codecov Report

Attention: Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.

Project coverage is 13.59%. Comparing base (359ad93) to head (fb6e3f3).

Files with missing lines Patch % Lines
src/reporter/grpc.rs 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #65      +/-   ##
==========================================
- Coverage   14.50%   13.59%   -0.92%     
==========================================
  Files          20       21       +1     
  Lines         710      765      +55     
==========================================
+ Hits          103      104       +1     
- Misses        607      661      +54     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jmjoy jmjoy marked this pull request as draft March 31, 2025 12:21
@jmjoy jmjoy marked this pull request as ready for review April 2, 2025 10:23
@jmjoy jmjoy requested a review from wu-sheng April 2, 2025 10:23
@jmjoy jmjoy requested a review from Copilot April 2, 2025 10:23
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates the project to Rust edition 2024 and upgrades various dependencies and CI/CD configurations to support newer systems and toolchains. Key changes include:

  • Updating GitHub Actions workflows to run on ubuntu-24.04 and using the nightly-2025-03-24 Rust toolchain.
  • Upgrading dependencies in Cargo.toml and related configuration files.
  • Refining networking and build script setups, including changes in the e2e testing and build.rs modifications.

Reviewed Changes

Copilot reviewed 33 out of 36 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/metrics/metricer.rs Reordered task module items for consistency.
src/metrics/meter.rs Adjusted import order; no functional changes.
src/management/instance.rs Switched from Lazy to LazyLock for static variable initialization.
src/logging/record.rs Reordered imports without affecting functionality.
rust-toolchain.toml Upgraded toolchain channel from 1.65 to 1.85.
pyproject.toml Added licensing and dependency information for the Python environment.
e2e/src/main.rs Updated network addresses and refactored HTTP connection handling using TcpStream.
e2e/src/e2e_kafka.rs Adjusted the expected broker IP address to match dependency updates.
e2e/data/expected_context.yaml Updated peer addresses to align with the new network configuration.
e2e/Cargo.toml Upgraded dependencies to newer versions supporting edition 2024 changes.
docker-compose.e2e.yml Changed service networking from port mappings to host network mode.
docker-compose.dev.yml Minor update removing the version specification.
build.rs Introduced tonic_build::Config to support the vendored feature.
Cargo.toml Updated package version, edition, rust-version, and numerous dependency versions.
.github/workflows/e2e.yml Updated workflow to use docker compose commands and uv for Python dependency management.
.github/workflows/codecov.yaml Replaced tarpaulin action with a manual cargo-tarpaulin installation step.
.github/workflows/ci.yaml Updated CI workflow steps to the new Ubuntu version and Rust nightly toolchain.
Files not reviewed (3)
  • .python-version: Language not supported
  • dist-material/LICENSE: Language not supported
  • e2e/docker/Dockerfile: Language not supported

@wu-sheng wu-sheng merged commit 76c6dfc into apache:master Apr 2, 2025
10 checks passed
@jmjoy jmjoy deleted the msrv branch April 2, 2025 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants