Skip to content

Commit f60bca8

Browse files
authored
refactor: Use prek workspaces (#1236)
prek supports nested configs (called workspace mode) which enables us to use indivudal, crate specific config files. Those hooks are only triggered if there are changes in the subdirectoy. Currently, most of these configs are copy+pasted and we ideally want some kind of central config + input based on the prek project/workspace member to avoid this duplicated code. This was already raised as an issue upstream.
1 parent 046a376 commit f60bca8

11 files changed

Lines changed: 446 additions & 121 deletions

File tree

.pre-commit-config.yaml

Lines changed: 0 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -47,127 +47,6 @@ repos:
4747
stages: [pre-commit, pre-merge-commit, manual]
4848
pass_filenames: false
4949

50-
- id: cargo-doc
51-
name: cargo-doc
52-
language: system
53-
entry: cargo doc --no-deps --document-private-items
54-
stages: [pre-commit, pre-merge-commit]
55-
pass_filenames: false
56-
files: \.rs$|Cargo\.(toml|lock)
57-
58-
- id: cargo-doc-no-default-features
59-
name: cargo-doc-no-default-features
60-
language: system
61-
entry: cargo doc --no-deps --no-default-features --document-private-items
62-
stages: [pre-commit, pre-merge-commit]
63-
pass_filenames: false
64-
files: \.rs$|Cargo\.(toml|lock)
65-
66-
- id: cargo-doc-all-features
67-
name: cargo-doc-all-features
68-
language: system
69-
entry: cargo doc --no-deps --all-features --document-private-items
70-
stages: [pre-commit, pre-merge-commit]
71-
pass_filenames: false
72-
files: \.rs$|Cargo\.(toml|lock)
73-
74-
# As long as we run tests for every contained crate (to test turning off all features),
75-
# we don't need to re-run them here
76-
# - id: cargo-test
77-
# name: cargo-test
78-
# language: system
79-
# entry: cargo test --workspace
80-
# stages: [pre-commit, pre-merge-commit]
81-
# pass_filenames: false
82-
# files: \.rs$|Cargo\.(toml|lock)
83-
# - id: cargo-test-no-default-features
84-
# name: cargo-test-no-default-features
85-
# language: system
86-
# entry: cargo test --no-default-features --workspace
87-
# stages: [pre-commit, pre-merge-commit]
88-
# pass_filenames: false
89-
# files: \.rs$|Cargo\.(toml|lock)
90-
91-
- id: cargo-test-all-features
92-
name: cargo-test-all-features
93-
language: system
94-
entry: cargo test --all-features --workspace
95-
stages: [pre-commit, pre-merge-commit]
96-
pass_filenames: false
97-
files: \.rs$|Cargo\.(toml|lock)
98-
99-
- id: cargo-test-k8s-version-no-default-features
100-
name: cargo-test-k8s-version-no-default-features
101-
language: system
102-
entry: cargo test --no-default-features --package k8s-version
103-
stages: [pre-commit, pre-merge-commit]
104-
pass_filenames: false
105-
files: \.rs$|Cargo\.(toml|lock)
106-
107-
- id: cargo-test-stackable-certs-no-default-features
108-
name: cargo-test-stackable-certs-no-default-features
109-
language: system
110-
entry: cargo test --no-default-features --package stackable-certs
111-
stages: [pre-commit, pre-merge-commit]
112-
pass_filenames: false
113-
files: \.rs$|Cargo\.(toml|lock)
114-
115-
- id: cargo-test-stackable-operator-no-default-features
116-
name: cargo-test-stackable-operator-no-default-features
117-
language: system
118-
entry: cargo test --no-default-features --package stackable-operator
119-
stages: [pre-commit, pre-merge-commit]
120-
pass_filenames: false
121-
files: \.rs$|Cargo\.(toml|lock)
122-
123-
- id: cargo-test-stackable-operator-derive-no-default-features
124-
name: cargo-test-stackable-operator-derive-no-default-features
125-
language: system
126-
entry: cargo test --no-default-features --package stackable-operator-derive
127-
stages: [pre-commit, pre-merge-commit]
128-
pass_filenames: false
129-
files: \.rs$|Cargo\.(toml|lock)
130-
131-
- id: cargo-test-stackable-shared-no-default-features
132-
name: cargo-test-stackable-shared-no-default-features
133-
language: system
134-
entry: cargo test --no-default-features --package stackable-shared
135-
stages: [pre-commit, pre-merge-commit]
136-
pass_filenames: false
137-
files: \.rs$|Cargo\.(toml|lock)
138-
139-
- id: cargo-test-stackable-telemetry-no-default-features
140-
name: cargo-test-stackable-telemetry-no-default-features
141-
language: system
142-
entry: cargo test --no-default-features --package stackable-telemetry
143-
stages: [pre-commit, pre-merge-commit]
144-
pass_filenames: false
145-
files: \.rs$|Cargo\.(toml|lock)
146-
147-
- id: cargo-test-stackable-versioned-no-default-features
148-
name: cargo-test-stackable-versioned-no-default-features
149-
language: system
150-
entry: cargo test --no-default-features --package stackable-versioned
151-
stages: [pre-commit, pre-merge-commit]
152-
pass_filenames: false
153-
files: \.rs$|Cargo\.(toml|lock)
154-
155-
- id: cargo-test-stackable-versioned-macros-no-default-features
156-
name: cargo-test-stackable-versioned-macros-no-default-features
157-
language: system
158-
entry: cargo test --no-default-features --package stackable-versioned-macros
159-
stages: [pre-commit, pre-merge-commit]
160-
pass_filenames: false
161-
files: \.rs$|Cargo\.(toml|lock)
162-
163-
- id: cargo-test-stackable-webhook-no-default-features
164-
name: cargo-test-stackable-webhook-no-default-features
165-
language: system
166-
entry: cargo test --no-default-features --package stackable-webhook
167-
stages: [pre-commit, pre-merge-commit]
168-
pass_filenames: false
169-
files: \.rs$|Cargo\.(toml|lock)
170-
17150
- id: cargo-rustfmt
17251
name: cargo-rustfmt
17352
language: system
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# We ideally want something like: https://github.com/j178/prek/issues/1869
2+
---
3+
default_language_version:
4+
node: system
5+
6+
repos:
7+
- repo: local
8+
hooks:
9+
- id: cargo-test-no-default-features
10+
name: cargo-test-no-default-features
11+
language: system
12+
entry: cargo test --no-default-features --package containerdebug
13+
stages: [pre-commit, pre-merge-commit]
14+
pass_filenames: false
15+
files: .*\.rs$|Cargo\.toml
16+
17+
- id: cargo-test-all-features
18+
name: cargo-test-no-default-features
19+
language: system
20+
entry: cargo test --all-features --package containerdebug
21+
stages: [pre-commit, pre-merge-commit]
22+
pass_filenames: false
23+
files: .*\.rs$|Cargo\.toml
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# We ideally want something like: https://github.com/j178/prek/issues/1869
2+
---
3+
default_language_version:
4+
node: system
5+
6+
repos:
7+
- repo: local
8+
hooks:
9+
- id: cargo-doc
10+
name: cargo-doc
11+
language: system
12+
entry: cargo doc --no-deps --document-private-items --package k8s-version
13+
stages: [pre-commit, pre-merge-commit]
14+
pass_filenames: false
15+
files: \.rs$|Cargo\.(toml|lock)
16+
17+
- id: cargo-doc-no-default-features
18+
name: cargo-doc-no-default-features
19+
language: system
20+
entry: cargo doc --no-deps --no-default-features --document-private-items --package k8s-version
21+
stages: [pre-commit, pre-merge-commit]
22+
pass_filenames: false
23+
files: \.rs$|Cargo\.(toml|lock)
24+
25+
- id: cargo-doc-all-features
26+
name: cargo-doc-all-features
27+
language: system
28+
entry: cargo doc --no-deps --all-features --document-private-items --package k8s-version
29+
stages: [pre-commit, pre-merge-commit]
30+
pass_filenames: false
31+
files: \.rs$|Cargo\.(toml|lock)
32+
33+
- id: cargo-test-no-default-features
34+
name: cargo-test-no-default-features
35+
language: system
36+
entry: cargo test --no-default-features --package k8s-version
37+
stages: [pre-commit, pre-merge-commit]
38+
pass_filenames: false
39+
files: .*\.rs$|Cargo\.toml
40+
41+
- id: cargo-test-all-features
42+
name: cargo-test-no-default-features
43+
language: system
44+
entry: cargo test --all-features --package k8s-version
45+
stages: [pre-commit, pre-merge-commit]
46+
pass_filenames: false
47+
files: .*\.rs$|Cargo\.toml
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# We ideally want something like: https://github.com/j178/prek/issues/1869
2+
---
3+
default_language_version:
4+
node: system
5+
6+
repos:
7+
- repo: local
8+
hooks:
9+
- id: cargo-doc
10+
name: cargo-doc
11+
language: system
12+
entry: cargo doc --no-deps --document-private-items --package stackable-certs
13+
stages: [pre-commit, pre-merge-commit]
14+
pass_filenames: false
15+
files: \.rs$|Cargo\.(toml|lock)
16+
17+
- id: cargo-doc-no-default-features
18+
name: cargo-doc-no-default-features
19+
language: system
20+
entry: cargo doc --no-deps --no-default-features --document-private-items --package stackable-certs
21+
stages: [pre-commit, pre-merge-commit]
22+
pass_filenames: false
23+
files: \.rs$|Cargo\.(toml|lock)
24+
25+
- id: cargo-doc-all-features
26+
name: cargo-doc-all-features
27+
language: system
28+
entry: cargo doc --no-deps --all-features --document-private-items --package stackable-certs
29+
stages: [pre-commit, pre-merge-commit]
30+
pass_filenames: false
31+
files: \.rs$|Cargo\.(toml|lock)
32+
33+
- id: cargo-test-no-default-features
34+
name: cargo-test-no-default-features
35+
language: system
36+
entry: cargo test --no-default-features --package stackable-certs
37+
stages: [pre-commit, pre-merge-commit]
38+
pass_filenames: false
39+
files: .*\.rs$|Cargo\.toml
40+
41+
- id: cargo-test-all-features
42+
name: cargo-test-no-default-features
43+
language: system
44+
entry: cargo test --all-features --package stackable-certs
45+
stages: [pre-commit, pre-merge-commit]
46+
pass_filenames: false
47+
files: .*\.rs$|Cargo\.toml
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# We ideally want something like: https://github.com/j178/prek/issues/1869
2+
---
3+
default_language_version:
4+
node: system
5+
6+
repos:
7+
- repo: local
8+
hooks:
9+
- id: cargo-doc
10+
name: cargo-doc
11+
language: system
12+
entry: cargo doc --no-deps --document-private-items --package stackable-operator-derive
13+
stages: [pre-commit, pre-merge-commit]
14+
pass_filenames: false
15+
files: \.rs$|Cargo\.(toml|lock)
16+
17+
- id: cargo-doc-no-default-features
18+
name: cargo-doc-no-default-features
19+
language: system
20+
entry: cargo doc --no-deps --no-default-features --document-private-items --package stackable-operator-derive
21+
stages: [pre-commit, pre-merge-commit]
22+
pass_filenames: false
23+
files: \.rs$|Cargo\.(toml|lock)
24+
25+
- id: cargo-doc-all-features
26+
name: cargo-doc-all-features
27+
language: system
28+
entry: cargo doc --no-deps --all-features --document-private-items --package stackable-operator-derive
29+
stages: [pre-commit, pre-merge-commit]
30+
pass_filenames: false
31+
files: \.rs$|Cargo\.(toml|lock)
32+
33+
- id: cargo-test-no-default-features
34+
name: cargo-test-no-default-features
35+
language: system
36+
entry: cargo test --no-default-features --package stackable-operator-derive
37+
stages: [pre-commit, pre-merge-commit]
38+
pass_filenames: false
39+
files: .*\.rs$|Cargo\.toml
40+
41+
- id: cargo-test-all-features
42+
name: cargo-test-no-default-features
43+
language: system
44+
entry: cargo test --all-features --package stackable-operator-derive
45+
stages: [pre-commit, pre-merge-commit]
46+
pass_filenames: false
47+
files: .*\.rs$|Cargo\.toml
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# We ideally want something like: https://github.com/j178/prek/issues/1869
2+
---
3+
default_language_version:
4+
node: system
5+
6+
repos:
7+
- repo: local
8+
hooks:
9+
- id: cargo-doc
10+
name: cargo-doc
11+
language: system
12+
entry: cargo doc --no-deps --document-private-items --package stackable-operator
13+
stages: [pre-commit, pre-merge-commit]
14+
pass_filenames: false
15+
files: \.rs$|Cargo\.(toml|lock)
16+
17+
- id: cargo-doc-no-default-features
18+
name: cargo-doc-no-default-features
19+
language: system
20+
entry: cargo doc --no-deps --no-default-features --document-private-items --package stackable-operator
21+
stages: [pre-commit, pre-merge-commit]
22+
pass_filenames: false
23+
files: \.rs$|Cargo\.(toml|lock)
24+
25+
- id: cargo-doc-all-features
26+
name: cargo-doc-all-features
27+
language: system
28+
entry: cargo doc --no-deps --all-features --document-private-items --package stackable-operator
29+
stages: [pre-commit, pre-merge-commit]
30+
pass_filenames: false
31+
files: \.rs$|Cargo\.(toml|lock)
32+
33+
- id: cargo-test-no-default-features
34+
name: cargo-test-no-default-features
35+
language: system
36+
entry: cargo test --no-default-features --package stackable-operator
37+
stages: [pre-commit, pre-merge-commit]
38+
pass_filenames: false
39+
files: .*\.rs$|Cargo\.toml
40+
41+
- id: cargo-test-all-features
42+
name: cargo-test-no-default-features
43+
language: system
44+
entry: cargo test --all-features --package stackable-operator
45+
stages: [pre-commit, pre-merge-commit]
46+
pass_filenames: false
47+
files: .*\.rs$|Cargo\.toml
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# We ideally want something like: https://github.com/j178/prek/issues/1869
2+
---
3+
default_language_version:
4+
node: system
5+
6+
repos:
7+
- repo: local
8+
hooks:
9+
- id: cargo-doc
10+
name: cargo-doc
11+
language: system
12+
entry: cargo doc --no-deps --document-private-items --package stackable-shared
13+
stages: [pre-commit, pre-merge-commit]
14+
pass_filenames: false
15+
files: \.rs$|Cargo\.(toml|lock)
16+
17+
- id: cargo-doc-no-default-features
18+
name: cargo-doc-no-default-features
19+
language: system
20+
entry: cargo doc --no-deps --no-default-features --document-private-items --package stackable-shared
21+
stages: [pre-commit, pre-merge-commit]
22+
pass_filenames: false
23+
files: \.rs$|Cargo\.(toml|lock)
24+
25+
- id: cargo-doc-all-features
26+
name: cargo-doc-all-features
27+
language: system
28+
entry: cargo doc --no-deps --all-features --document-private-items --package stackable-shared
29+
stages: [pre-commit, pre-merge-commit]
30+
pass_filenames: false
31+
files: \.rs$|Cargo\.(toml|lock)
32+
33+
- id: cargo-test-no-default-features
34+
name: cargo-test-no-default-features
35+
language: system
36+
entry: cargo test --no-default-features --package stackable-shared
37+
stages: [pre-commit, pre-merge-commit]
38+
pass_filenames: false
39+
files: .*\.rs$|Cargo\.toml
40+
41+
- id: cargo-test-all-features
42+
name: cargo-test-no-default-features
43+
language: system
44+
entry: cargo test --all-features --package stackable-shared
45+
stages: [pre-commit, pre-merge-commit]
46+
pass_filenames: false
47+
files: .*\.rs$|Cargo\.toml

0 commit comments

Comments
 (0)