Files
vectorcraft/.github/workflows/print.yml
T
FredAppsandClaude Opus 5.5 2f26d4012b 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>
2026-11-01 08:32:53 +07:00

44 lines
1.7 KiB
YAML

name: Desktop printing
on:
pull_request:
paths:
- "Cargo.toml"
- "Cargo.lock"
- "apps/vectorcraft/Cargo.toml"
- "apps/vectorcraft/src/printing.rs"
- "apps/vectorcraft/src/printing/**"
- "crates/ui-egui/src/print.rs"
- "crates/ui-egui/src/tests/printps.rs"
- ".github/workflows/print.yml"
workflow_dispatch:
permissions:
contents: read
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
jobs:
windows:
runs-on: windows-2022
timeout-minutes: 90
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: dtolnay/rust-toolchain@e2a55d2ffb04f378e9626c28d38b36d230d1e12f # master
with:
toolchain: stable
components: clippy
# Pull requests restore but never save: a PR's cache (about 1.3 GB) is visible only to that
# PR, and with the repository at its 10 GB limit each one evicted caches main's gate uses.
# A manual run on main seeds the cache every PR can restore.
- uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0 # v2.9.3
with:
key: desktop-print
save-if: ${{ github.ref == 'refs/heads/main' }}
- run: cargo clippy --locked -p vectorcraft --all-targets -- -D warnings
- run: cargo test --locked -p vectorcraft
- name: Check pending submission and queue refusal feedback
shell: bash
# A filter that matches nothing still passes, so fail unless some test ran.
run: |
cargo test --locked -p vectorcraft-ui-egui --lib -- tests::printps | tee printps.log
grep -Eq 'test result: ok\. [1-9][0-9]* passed' printps.log || { echo "::error::tests::printps matched no tests"; exit 1; }