Files
vectorcraft/.github/workflows/affinity-corpus.yml
T
FredApps e8c7421a3d CI: shared gate for the Affinity corpus; drop release's git-sources copy (#6683)
affinity-corpus.yml ran a local job; it now calls craft-common-actions
gate.yml with the same toolchain (1.95), environment and commands, and a
cache of its own. release.yml's git-sources copy is removed: the shared
release.yml runs the same check before any build.
2026-11-13 15:01:22 +01:00

42 lines
1.4 KiB
YAML

name: Affinity 3 corpus
on:
push:
branches: [main]
paths: ["crates/**", "xtask/**", "Cargo.toml", "Cargo.lock", ".github/workflows/affinity-corpus.yml"]
pull_request:
paths: ["crates/**", "xtask/**", "Cargo.toml", "Cargo.lock", ".github/workflows/affinity-corpus.yml"]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: affinity-corpus-${{ github.ref }}
cancel-in-progress: true
jobs:
affinity3:
# Tracks @main so suite-wide CI fixes reach every app without a PR in each repository.
uses: storytold/craft-common-actions/.github/workflows/gate.yml@main
with:
timeout-minutes: 30
toolchain: "1.95"
# As before: no craft-fonts, apt packages, wasm target or nextest.
craft-fonts-ref: ""
targets: ""
tools: ""
dev-debug: "0"
env: |
AFFINITY_CORPUS_REQUIRED=1
CARGO_PROFILE_TEST_DEBUG=0
# Its own cache, apart from ci.yml's gate.
cache-version: v1-affinity
command: |
# Pinned and checksum-verified corpus.
cargo xtask corpus --affinity
# Parse every file and freeze actual Affinity 3 feature retention.
cargo test -p vectorcraft-affinity --all-features -- --nocapture
# Every artboard, native save, SVG, PDF and PSD export.
cargo test -p vectorcraft-engine --test affinity_artboards --test affinity_text --test affinity_corpus -- --nocapture