mirror of
https://github.com/storytold/deckcraft.git
synced 2026-10-25 11:07:01 -06:00
Preserve current-main document and PDF behavior alongside the reviewed input, capture, font, ribbon and notice-packaging migration. Validation: cargo xtask ci passed all eight stages, with 1,877 workspace tests and three doctests passed, six tests ignored, strict native lint and 23 WASM crates checked. Native GUI, platform and performance qualification remains separate.
62 lines
2.8 KiB
YAML
62 lines
2.8 KiB
YAML
name: CI
|
|
|
|
# Quality gates for every push to main and every pull request (`cargo xtask ci`), through the
|
|
# suite's shared gate workflow in craft-common-actions.
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
# A newer push to a PR branch cancels its older run; every push to main runs to the end.
|
|
concurrency:
|
|
group: ci-${{ github.event_name == 'pull_request' && github.ref || github.run_id }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
# The migration's font pin gate stays a local preflight. A reusable-workflow job cannot run
|
|
# custom steps or export CRAFT_FONTS_REQUIRED into gate.yml, so the check is its own job and
|
|
# the shared gate waits for it. Keep this pin identical to the `craft-fonts-ref` below,
|
|
# freebsd.yml and release.yml.
|
|
font-pin:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
# Same craft-fonts commit as release.yml.
|
|
CRAFT_FONTS_REF: b076417b5880bd4154bd22f00695b1d28c6bea83
|
|
steps:
|
|
- name: Check out craft-fonts
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
repository: storytold/craft-fonts
|
|
ref: ${{ env.CRAFT_FONTS_REF }}
|
|
path: craft-fonts
|
|
- name: Font pin gate
|
|
env:
|
|
# The only pin allowed to predate the reviewed Chinese manifest. It is a sentinel, not
|
|
# a proposed future SHA; update it together with all three workflow pins.
|
|
PENDING_CRAFT_FONTS_PIN: 43913056ce82a3fdad0ef69f6b88d1dc922a8104
|
|
run: |
|
|
manifest="$GITHUB_WORKSPACE/craft-fonts/fonts/simplified-chinese-manifest.txt"
|
|
if [ -f "$manifest" ]; then
|
|
echo "craft-fonts pin carries the reviewed simplified-Chinese manifest."
|
|
elif [ "$CRAFT_FONTS_REF" = "$PENDING_CRAFT_FONTS_PIN" ]; then
|
|
echo "::warning title=craft-fonts pin pending::The pinned craft-fonts commit has no fonts/simplified-chinese-manifest.txt, so CJK checks may skip. Advance ci.yml, freebsd.yml and release.yml together to the reviewed immutable SHA before claiming shipped Chinese fonts."
|
|
else
|
|
echo "::error title=craft-fonts pin missing Chinese manifest::CRAFT_FONTS_REF advanced past the known pending pin ($PENDING_CRAFT_FONTS_PIN) but still has no fonts/simplified-chinese-manifest.txt. Update the pin to the reviewed commit that carries it."
|
|
exit 1
|
|
fi
|
|
|
|
gate:
|
|
needs: font-pin
|
|
# 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:
|
|
# Same craft-fonts commit as release.yml.
|
|
craft-fonts-ref: b076417b5880bd4154bd22f00695b1d28c6bea83
|
|
packages: >-
|
|
libasound2-dev libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev
|
|
libgl1-mesa-dev
|