Commit Graph

5 Commits

Author SHA1 Message Date
Thomas Eizinger
84a2c275ca build(rust): upgrade to Rust 1.85 and Edition 2024 (#8240)
Updates our codebase to the 2024 Edition. For highlights on what
changes, see the following blogpost:
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html
2025-03-19 02:58:55 +00:00
Thomas Eizinger
dd6b52b236 chore(rust): share edition key via workspace table (#7451) 2024-12-03 00:28:06 +00:00
Thomas Eizinger
2c26fc9c0e ci: lint Rust dependencies using cargo deny (#7390)
One of Rust's promises is "if it compiles, it works". However, there are
certain situations in which this isn't true. In particular, when using
dynamic typing patterns where trait objects are downcast to concrete
types, having two versions of the same dependency can silently break
things.

This happened in #7379 where I forgot to patch a certain Sentry
dependency. A similar problem exists with our `tracing-stackdriver`
dependency (see #7241).

Lastly, duplicate dependencies increase the compile-times of a project,
so we should aim for having as few duplicate versions of a particular
dependency as possible in our dependency graph.

This PR introduces `cargo deny`, a linter for Rust dependencies. In
addition to linting for duplicate dependencies, it also enforces that
all dependencies are compatible with an allow-list of licenses and it
warns when a dependency is referred to from multiple crates without
introducing a workspace dependency. Thanks to existing tooling
(https://github.com/mainmatter/cargo-autoinherit), transitioning all
dependencies to workspace dependencies was quite easy.

Resolves: #7241.
2024-11-22 00:17:28 +00:00
dependabot[bot]
28c8b676fb build(deps): Bump axum from 0.7.6 to 0.7.7 in /rust (#6871)
Bumps [axum](https://github.com/tokio-rs/axum) from 0.7.6 to 0.7.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/axum/releases">axum's
releases</a>.</em></p>
<blockquote>
<h2>axum-extra - v0.7.7</h2>
<ul>
<li><strong>added:</strong> <code>Clone</code> implementation for
<code>ErasedJson</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2142">#2142</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/2142">#2142</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2142">tokio-rs/axum#2142</a></p>
<h2>axum v0.7.7</h2>
<ul>
<li><strong>change</strong>: Remove manual tables of content from the
documentation, since
rustdoc now generates tables of content in the sidebar (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2921">#2921</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/2921">#2921</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2921">tokio-rs/axum#2921</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fe56a310ef"><code>fe56a31</code></a>
Bump versions</li>
<li><a
href="ac50d7daaf"><code>ac50d7d</code></a>
docs: Remove manual tables of content (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2921">#2921</a>)</li>
<li><a
href="6f5607785d"><code>6f56077</code></a>
core: Fix compile errors from __log_rejection (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2933">#2933</a>)</li>
<li><a
href="4fc0641874"><code>4fc0641</code></a>
Upgrade private dependencies (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2935">#2935</a>)</li>
<li><a
href="6ec3a51f2d"><code>6ec3a51</code></a>
Clarify some subtleties of routing (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2896">#2896</a>)</li>
<li>See full diff in <a
href="https://github.com/tokio-rs/axum/compare/axum-v0.7.6...axum-v0.7.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axum&package-manager=cargo&previous-version=0.7.6&new-version=0.7.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-15 00:15:51 +00:00
Thomas Eizinger
eb91a052c3 chore(rust): group testing crates into a tests/ directory (#6257)
Resolves: #5695.

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-08-12 17:17:01 +00:00