ci: i18n report without a rebuild; PR print runs stop saving caches

- xtask ci: the i18n report selects the whole workspace as the test stage did. With
  `-p vectorcraft-ui-egui` alone cargo resolved features differently and recompiled for about
  3.5 minutes. `cargo xtask i18n-report` on its own still builds only that crate.
- print.yml: only main saves the desktop-print cache. Each PR saved its own 1.3 GB cache that
  only that PR can read (6.3 GB across five PRs), pushing the repository past its 10 GB limit
  and evicting caches main's gate restores.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
FredApps
2026-11-01 08:32:53 +07:00
committed by bflatastic
co-authored by Claude Opus 5.5
parent 6b4ced2b96
commit 2f26d4012b
2 changed files with 14 additions and 1 deletions
+10 -1
View File
@@ -294,7 +294,7 @@ fn cmd_ci() -> Result<(), String> {
("assets", Box::new(|| assets::run(&root()))),
("brands", Box::new(|| brands::run(&root()))),
("cursors", Box::new(|| cursors::run(&root()))),
("i18n-report", Box::new(cmd_i18n_report)),
("i18n-report", Box::new(cmd_ci_i18n_report)),
("layers", Box::new(cmd_layers)),
("wasm", Box::new(cmd_wasm)),
];
@@ -349,3 +349,12 @@ fn cmd_i18n_report() -> Result<(), String> {
c.args(["test", "-p", "vectorcraft-ui-egui", "--lib", "--", "i18n::tests::untranslated_report", "--exact", "--nocapture"]);
run(c, "cargo test -p vectorcraft-ui-egui --lib -- i18n::tests::untranslated_report --exact --nocapture")
}
/// [`cmd_i18n_report`] in `ci`, selecting the whole workspace as the test stage did: with
/// `-p vectorcraft-ui-egui` alone cargo resolves features differently and recompiled for about
/// 3.5 minutes. Every other lib test binary runs with no test matching the filter.
fn cmd_ci_i18n_report() -> Result<(), String> {
let mut c = cargo();
c.args(["test", "--workspace", "--lib", "--quiet", "--", "i18n::tests::untranslated_report", "--exact", "--nocapture"]);
run(c, "cargo test --workspace --lib --quiet -- i18n::tests::untranslated_report --exact --nocapture")
}