Implement the reviewed UI icon system and durable review workflow (#853)
Thanks @Nathan-Dane.
This commit is contained in:
1 parent
c599238653
commit
64966bab88
374 files changed
+8187
-2221
No files matched your search
@@ -0,0 +1,16 @@
|
||||
//! Original UI icon standards and review-tool regression checks.
|
||||
use std::path::Path;
|
||||
use std::process::Command;
|
||||
|
||||
pub fn run(root: &Path) -> Result<(), String> {
|
||||
for args in [
|
||||
vec!["-B", "assets/icons/ui/design/tools/lint_icons.py"],
|
||||
vec!["-B", "assets/icons/ui/design/tools/icon_status.py", "--check"],
|
||||
vec!["-B", "-m", "unittest", "discover", "-s", "tests/tools", "-p", "test_icon*.py"],
|
||||
] {
|
||||
let mut command = Command::new("python3");
|
||||
command.args(args).current_dir(root);
|
||||
super::run(command, "UI icon standards (Python 3.11+)")?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
+7
-3
@@ -1,13 +1,14 @@
|
||||
//! Workspace tooling: `cargo xtask <command>`.
|
||||
//!
|
||||
//! Pure Rust (std, serde_json and sha2). External tools (`cargo`) are invoked through
|
||||
//! `std::process::Command`.
|
||||
//! Rust workspace tooling. External tools (`cargo`, and Python 3.11+ for the
|
||||
//! original icon collection) are invoked through `std::process::Command`.
|
||||
|
||||
mod app_icons;
|
||||
mod assets;
|
||||
mod book;
|
||||
mod features;
|
||||
mod i18n;
|
||||
mod icons;
|
||||
mod layers;
|
||||
mod licences;
|
||||
mod lists;
|
||||
@@ -25,6 +26,7 @@ commands:
|
||||
layers enforce the crate dependency layering (plan/architecture.md §3)
|
||||
assets check that every non-code asset file is attributed in ATTRIBUTION.md
|
||||
app-icons regenerate shared app-icon exports for Linux, FreeBSD and Windows
|
||||
icons validate UI icon standards, discovery and review-tool behavior (Python 3.11+)
|
||||
features list SolidCraft's commands by area in docs/features.md (from the registry)
|
||||
i18n [--check | --add-missing]
|
||||
report how complete the message catalogs in assets/locales are:
|
||||
@@ -61,7 +63,7 @@ commands:
|
||||
web-offline-test [--site DIR]
|
||||
check in headless Chrome that the web app works offline and updates to a new
|
||||
build (a stand-in app, or the web build in DIR such as dist/web)
|
||||
ci fmt --check, assets, licences --check, lists, layers, clippy -D warnings, then the tests
|
||||
ci fmt --check, assets, icons, licences --check, lists, layers, clippy -D warnings, then the tests
|
||||
with the wasm check alongside, then web-offline-test when Chrome is installed
|
||||
(stops at the first failing step)
|
||||
";
|
||||
@@ -72,6 +74,7 @@ fn main() -> ExitCode {
|
||||
let result = match args.first().map(String::as_str) {
|
||||
Some("layers") => cmd_layers(),
|
||||
Some("assets") => assets::run(&root()),
|
||||
Some("icons") => icons::run(&root()),
|
||||
Some("app-icons") => app_icons::run(&root()),
|
||||
Some("features") => features::run(&root()),
|
||||
Some("i18n") => i18n::run(&root(), &rest),
|
||||
@@ -362,6 +365,7 @@ fn cmd_ci() -> Result<(), String> {
|
||||
c.args(["fmt", "--all", "--", "--check"]);
|
||||
run(c, "cargo fmt --check")?;
|
||||
assets::run(&root())?;
|
||||
icons::run(&root())?;
|
||||
licences::run(&root(), true)?;
|
||||
lists::run(&root(), false)?;
|
||||
cmd_layers()?;
|
||||
|
||||
Reference in new issue
Block a user