-
Notifications
You must be signed in to change notification settings - Fork 522
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Split rust-tooling into separate crates (#1795)
TL;DR: This makes CI faster. The main advantage of splitting the tooling into several crates is that the CI tests only need to compile the dependencies needed for them. Notably, that excludes Tera, which is used for exercise generation. This also paves the way for making the exercise generator more rich, using potentially compile-time heavy crates (e.g. `clap`).
- Loading branch information
Showing
23 changed files
with
157 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,3 @@ | ||
[package] | ||
name = "exercism_tooling" | ||
version = "0.1.0" | ||
edition = "2021" | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
|
||
[dependencies] | ||
convert_case = "0.6.0" | ||
glob = "0.3.1" | ||
ignore = "0.4.20" | ||
inquire = "0.6.2" | ||
once_cell = "1.18.0" | ||
serde = { version = "1.0.188", features = ["derive"] } | ||
serde_json = { version = "1.0.105", features = ["preserve_order"] } | ||
tera = "1.19.1" | ||
uuid = { version = "1.4.1", features = ["v4"] } | ||
[workspace] | ||
members = ["generator", "ci-tests", "utils", "models"] | ||
resolver = "2" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
[package] | ||
name = "ci-tests" | ||
version = "0.1.0" | ||
edition = "2021" | ||
description = "Tests to be run in CI to make sure the repo is in good shape" | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
|
||
# This crate is built in CI to run the tests. | ||
# Be considerate when adding dependencies to keep compile times reasonable. | ||
[dependencies] | ||
convert_case = "0.6.0" | ||
ignore = "0.4.20" | ||
models = { version = "0.1.0", path = "../models" } | ||
serde_json = "1.0.108" | ||
utils = { version = "0.1.0", path = "../utils" } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
//! dummy lib.rs | ||
//! | ||
//! This crate only exists for the tests. | ||
//! The lib.rs may be used for shared code amoung the tests, | ||
//! if that ever turns out to be useful. |
3 changes: 1 addition & 2 deletions
3
...-tooling/tests/bash_script_conventions.rs → ...ci-tests/tests/bash_script_conventions.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
rust-tooling/tests/count_ignores.rs → rust-tooling/ci-tests/tests/count_ignores.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
rust-tooling/tests/difficulties.rs → rust-tooling/ci-tests/tests/difficulties.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...tooling/tests/no_authors_in_cargo_toml.rs → ...i-tests/tests/no_authors_in_cargo_toml.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
[package] | ||
name = "generator" | ||
version = "0.1.0" | ||
edition = "2021" | ||
description = "Generates exercise boilerplate, especially test cases" | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
|
||
[dependencies] | ||
convert_case = "0.6.0" | ||
glob = "0.3.1" | ||
inquire = "0.6.2" | ||
models = { version = "0.1.0", path = "../models" } | ||
serde_json = { version = "1.0.105", features = ["preserve_order"] } | ||
tera = "1.19.1" | ||
utils = { version = "0.1.0", path = "../utils" } | ||
uuid = { version = "1.4.1", features = ["v4"] } |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
pub mod exercise_generation; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
[package] | ||
name = "models" | ||
version = "0.1.0" | ||
edition = "2021" | ||
description = "Data structures for exercism stuff" | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
|
||
[dependencies] | ||
ignore = "0.4.20" | ||
once_cell = "1.18.0" | ||
serde = { version = "1.0.188", features = ["derive"] } | ||
serde_json = { version = "1.0.105", features = ["preserve_order"] } | ||
utils = { version = "0.1.0", path = "../utils" } | ||
uuid = { version = "1.6.1", features = ["v4"] } |
Oops, something went wrong.