mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-01 21:57:12 -06:00
- 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>
44 lines
1.7 KiB
YAML
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; }
|