Skip to content

Commit 3dc437e

Browse files
Techassisbernauer
andauthored
chore: Add rustfmt config (#956)
* chore: Add rustfmt config, apply formatting to code * chore: Adjust pre-commit config file Pre-commit now uses a local hook to validate formatting of Rust code. * ci: Use nightly toolchain for pre-commit workflow * test: Fix stderr output after test code changes * chore: Apply suggestion Co-authored-by: Sebastian Bernauer <[email protected]> --------- Co-authored-by: Sebastian Bernauer <[email protected]>
1 parent 5ced48b commit 3dc437e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+299
-273
lines changed

.github/workflows/pr_pre-commit.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
env:
88
CARGO_TERM_COLOR: always
9-
RUST_TOOLCHAIN_VERSION: "1.82.0"
9+
RUST_TOOLCHAIN_VERSION: "nightly-2025-01-15"
1010
HADOLINT_VERSION: "v1.17.6"
1111

1212
jobs:

.pre-commit-config.yaml

+8-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ repos:
1515
- repo: https://github.com/doublify/pre-commit-rust
1616
rev: eeee35a89e69d5772bdee97db1a6a898467b686e # 1.0
1717
hooks:
18-
- id: fmt
19-
args: ["--all", "--", "--check"]
2018
- id: clippy
2119
args: ["--all-targets", "--", "-D", "warnings"]
2220
- repo: https://github.com/adrienverge/yamllint
@@ -53,3 +51,11 @@ repos:
5351
entry: .scripts/verify_crate_versions.sh
5452
stages: [pre-commit, pre-merge-commit, manual]
5553
pass_filenames: false
54+
55+
- id: rustfmt
56+
name: rustfmt
57+
language: system
58+
# Pinning to a specific rustc version, so that we get consistent formatting
59+
entry: cargo +nightly-2025-01-15 fmt --all -- --check
60+
stages: [pre-commit]
61+
pass_filenames: false

crates/k8s-version/src/api_version.rs

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
use std::{cmp::Ordering, fmt::Display, str::FromStr};
22

3-
use snafu::{ResultExt, Snafu};
4-
53
#[cfg(feature = "darling")]
64
use darling::FromMeta;
5+
use snafu::{ResultExt, Snafu};
76

87
use crate::{Group, ParseGroupError, ParseVersionError, Version};
98

@@ -102,13 +101,12 @@ impl ApiVersion {
102101

103102
#[cfg(test)]
104103
mod test {
105-
use super::*;
106-
use crate::Level;
107-
108-
use rstest::rstest;
109-
110104
#[cfg(feature = "darling")]
111105
use quote::quote;
106+
use rstest::rstest;
107+
108+
use super::*;
109+
use crate::Level;
112110

113111
#[cfg(feature = "darling")]
114112
fn parse_meta(tokens: proc_macro2::TokenStream) -> ::std::result::Result<syn::Meta, String> {

crates/k8s-version/src/level.rs

+4-6
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ use std::{
77
sync::LazyLock,
88
};
99

10-
use regex::Regex;
11-
use snafu::{OptionExt, ResultExt, Snafu};
12-
1310
#[cfg(feature = "darling")]
1411
use darling::FromMeta;
12+
use regex::Regex;
13+
use snafu::{OptionExt, ResultExt, Snafu};
1514

1615
static LEVEL_REGEX: LazyLock<Regex> = LazyLock::new(|| {
1716
Regex::new(r"^(?P<identifier>[a-z]+)(?P<version>\d+)$").expect("failed to compile level regex")
@@ -158,14 +157,13 @@ impl FromMeta for Level {
158157

159158
#[cfg(test)]
160159
mod test {
160+
#[cfg(feature = "darling")]
161+
use quote::quote;
161162
use rstest::rstest;
162163
use rstest_reuse::*;
163164

164165
use super::*;
165166

166-
#[cfg(feature = "darling")]
167-
use quote::quote;
168-
169167
#[cfg(feature = "darling")]
170168
fn parse_meta(tokens: proc_macro2::TokenStream) -> ::std::result::Result<syn::Meta, String> {
171169
let attribute: syn::Attribute = syn::parse_quote!(#[#tokens]);

crates/k8s-version/src/version.rs

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
use std::{cmp::Ordering, fmt::Display, num::ParseIntError, str::FromStr, sync::LazyLock};
22

3-
use regex::Regex;
4-
use snafu::{OptionExt, ResultExt, Snafu};
5-
63
#[cfg(feature = "darling")]
74
use darling::FromMeta;
5+
use regex::Regex;
6+
use snafu::{OptionExt, ResultExt, Snafu};
87

98
use crate::{Level, ParseLevelError};
109

@@ -117,14 +116,13 @@ impl Version {
117116

118117
#[cfg(test)]
119118
mod test {
119+
#[cfg(feature = "darling")]
120+
use quote::quote;
120121
use rstest::rstest;
121122
use rstest_reuse::{apply, template};
122123

123124
use super::*;
124125

125-
#[cfg(feature = "darling")]
126-
use quote::quote;
127-
128126
#[cfg(feature = "darling")]
129127
fn parse_meta(tokens: proc_macro2::TokenStream) -> ::std::result::Result<syn::Meta, String> {
130128
let attribute: syn::Attribute = syn::parse_quote!(#[#tokens]);

crates/stackable-certs/src/keys/ecdsa.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,11 @@ impl SigningKey {
4040
}
4141

4242
impl CertificateKeypair for SigningKey {
43-
type SigningKey = p256::ecdsa::SigningKey;
43+
type Error = Error;
4444
type Signature = ecdsa::der::Signature<NistP256>;
45+
type SigningKey = p256::ecdsa::SigningKey;
4546
type VerifyingKey = p256::ecdsa::VerifyingKey;
4647

47-
type Error = Error;
48-
4948
fn signing_key(&self) -> &Self::SigningKey {
5049
&self.0
5150
}

crates/stackable-certs/src/keys/rsa.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ impl SigningKey {
6060
}
6161

6262
impl CertificateKeypair for SigningKey {
63-
type SigningKey = rsa::pkcs1v15::SigningKey<sha2::Sha256>;
63+
type Error = Error;
6464
type Signature = rsa::pkcs1v15::Signature;
65+
type SigningKey = rsa::pkcs1v15::SigningKey<sha2::Sha256>;
6566
type VerifyingKey = rsa::pkcs1v15::VerifyingKey<sha2::Sha256>;
66-
type Error = Error;
6767

6868
fn signing_key(&self) -> &Self::SigningKey {
6969
&self.0

crates/stackable-certs/src/lib.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#[cfg(feature = "rustls")]
2222
use std::ops::Deref;
2323

24+
use snafu::Snafu;
25+
use x509_cert::{spki::EncodePublicKey, Certificate};
2426
#[cfg(feature = "rustls")]
2527
use {
2628
p256::pkcs8::EncodePrivateKey,
@@ -29,9 +31,6 @@ use {
2931
x509_cert::der::Encode,
3032
};
3133

32-
use snafu::Snafu;
33-
use x509_cert::{spki::EncodePublicKey, Certificate};
34-
3534
use crate::keys::CertificateKeypair;
3635

3736
pub mod ca;

crates/stackable-operator/src/builder/configmap.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
use std::collections::BTreeMap;
2+
13
use k8s_openapi::{api::core::v1::ConfigMap, apimachinery::pkg::apis::meta::v1::ObjectMeta};
24
use snafu::{OptionExt, Snafu};
3-
use std::collections::BTreeMap;
45

56
type Result<T, E = Error> = std::result::Result<T, E>;
67

@@ -64,10 +65,10 @@ impl ConfigMapBuilder {
6465

6566
#[cfg(test)]
6667
mod tests {
67-
use crate::builder::{configmap::ConfigMapBuilder, meta::ObjectMetaBuilder};
68-
6968
use std::collections::BTreeMap;
7069

70+
use crate::builder::{configmap::ConfigMapBuilder, meta::ObjectMetaBuilder};
71+
7172
#[test]
7273
fn configmap_builder() {
7374
let mut data = BTreeMap::new();

crates/stackable-operator/src/builder/meta.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -311,9 +311,10 @@ impl OwnerReferenceBuilder {
311311

312312
#[cfg(test)]
313313
mod tests {
314+
use k8s_openapi::api::core::v1::Pod;
315+
314316
use super::*;
315317
use crate::builder::meta::ObjectMetaBuilder;
316-
use k8s_openapi::api::core::v1::Pod;
317318

318319
#[test]
319320
fn objectmeta_builder() {

crates/stackable-operator/src/builder/pdb.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -209,10 +209,9 @@ mod tests {
209209
use schemars::JsonSchema;
210210
use serde::{Deserialize, Serialize};
211211

212+
use super::*;
212213
use crate::builder::meta::{ObjectMetaBuilder, OwnerReferenceBuilder};
213214

214-
use super::PodDisruptionBudgetBuilder;
215-
216215
#[test]
217216
pub fn normal_build() {
218217
#[allow(deprecated)]

crates/stackable-operator/src/builder/pod/container.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
use std::fmt;
22

3-
#[cfg(doc)]
4-
use {k8s_openapi::api::core::v1::PodSpec, std::collections::BTreeMap};
5-
63
use indexmap::IndexMap;
74
use k8s_openapi::api::core::v1::{
85
ConfigMapKeySelector, Container, ContainerPort, EnvVar, EnvVarSource, Lifecycle,
@@ -11,6 +8,8 @@ use k8s_openapi::api::core::v1::{
118
};
129
use snafu::{ResultExt as _, Snafu};
1310
use tracing::instrument;
11+
#[cfg(doc)]
12+
use {k8s_openapi::api::core::v1::PodSpec, std::collections::BTreeMap};
1413

1514
use crate::{
1615
commons::product_image_selection::ResolvedProductImage,

crates/stackable-operator/src/builder/pod/mod.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ use k8s_openapi::{
1212
use snafu::{OptionExt, ResultExt, Snafu};
1313
use tracing::{instrument, warn};
1414

15-
use crate::kvp::Labels;
1615
use crate::{
17-
builder::meta::ObjectMetaBuilder,
16+
builder::{
17+
meta::ObjectMetaBuilder,
18+
pod::volume::{ListenerOperatorVolumeSourceBuilder, ListenerReference, VolumeBuilder},
19+
},
1820
commons::{
1921
affinity::StackableAffinity,
2022
product_image_selection::ResolvedProductImage,
@@ -23,11 +25,10 @@ use crate::{
2325
LIMIT_REQUEST_RATIO_CPU, LIMIT_REQUEST_RATIO_MEMORY,
2426
},
2527
},
28+
kvp::Labels,
2629
time::Duration,
2730
};
2831

29-
use self::volume::{ListenerOperatorVolumeSourceBuilder, ListenerReference, VolumeBuilder};
30-
3132
pub mod container;
3233
pub mod resources;
3334
pub mod security;
@@ -633,6 +634,7 @@ mod tests {
633634
};
634635
use rstest::*;
635636

637+
use super::*;
636638
use crate::builder::{
637639
meta::ObjectMetaBuilder,
638640
pod::{
@@ -641,8 +643,6 @@ mod tests {
641643
},
642644
};
643645

644-
use super::*;
645-
646646
// A simple [`Container`] with a name and image.
647647
#[fixture]
648648
fn dummy_container() -> Container {

crates/stackable-operator/src/builder/pod/security.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ impl SecurityContextBuilder {
7070
sc.level = Some(level.into());
7171
self
7272
}
73+
7374
pub fn se_linux_role(&mut self, role: impl Into<String>) -> &mut Self {
7475
let sc = self
7576
.security_context
@@ -201,6 +202,7 @@ impl PodSecurityContextBuilder {
201202
));
202203
self
203204
}
205+
204206
pub fn se_linux_role(&mut self, role: &str) -> &mut Self {
205207
self.pod_security_context.se_linux_options =
206208
Some(self.pod_security_context.se_linux_options.clone().map_or(
@@ -215,6 +217,7 @@ impl PodSecurityContextBuilder {
215217
));
216218
self
217219
}
220+
218221
pub fn se_linux_type(&mut self, type_: &str) -> &mut Self {
219222
self.pod_security_context.se_linux_options =
220223
Some(self.pod_security_context.se_linux_options.clone().map_or(
@@ -229,6 +232,7 @@ impl PodSecurityContextBuilder {
229232
));
230233
self
231234
}
235+
232236
pub fn se_linux_user(&mut self, user: &str) -> &mut Self {
233237
self.pod_security_context.se_linux_options =
234238
Some(self.pod_security_context.se_linux_options.clone().map_or(
@@ -335,9 +339,10 @@ impl PodSecurityContextBuilder {
335339

336340
#[cfg(test)]
337341
mod tests {
338-
use super::*;
339342
use k8s_openapi::api::core::v1::{PodSecurityContext, SELinuxOptions, SeccompProfile, Sysctl};
340343

344+
use super::*;
345+
341346
#[test]
342347
fn security_context_builder() {
343348
let mut builder = PodSecurityContextBuilder::new();

crates/stackable-operator/src/builder/pod/volume.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use k8s_openapi::{
88
},
99
apimachinery::pkg::api::resource::Quantity,
1010
};
11-
1211
use snafu::{ResultExt, Snafu};
1312
use tracing::warn;
1413

@@ -568,10 +567,12 @@ impl ListenerOperatorVolumeSourceBuilder {
568567

569568
#[cfg(test)]
570569
mod tests {
571-
use super::*;
572-
use k8s_openapi::apimachinery::pkg::api::resource::Quantity;
573570
use std::collections::BTreeMap;
574571

572+
use k8s_openapi::apimachinery::pkg::api::resource::Quantity;
573+
574+
use super::*;
575+
575576
#[test]
576577
fn builder() {
577578
let mut volume_builder = VolumeBuilder::new("name");

crates/stackable-operator/src/cli.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -284,13 +284,14 @@ fn resolve_path<'a>(
284284

285285
#[cfg(test)]
286286
mod tests {
287-
use super::*;
287+
use std::{env, fs::File};
288+
288289
use clap::Parser;
289290
use rstest::*;
290-
use std::env;
291-
use std::fs::File;
292291
use tempfile::tempdir;
293292

293+
use super::*;
294+
294295
const USER_PROVIDED_PATH: &str = "user_provided_path_properties.yaml";
295296
const DEPLOY_FILE_PATH: &str = "deploy_config_spec_properties.yaml";
296297
const DEFAULT_FILE_PATH: &str = "default_file_path_properties.yaml";

0 commit comments

Comments
 (0)