name: Workspace on: push: branches: [main] tags: ["v*"] pull_request: workflow_dispatch: permissions: contents: read jobs: native: name: Workspace uses: storytold/craft-common-actions/.github/workflows/gate.yml@main with: os: '["ubuntu-latest","windows-latest","macos-latest"]' timeout-minutes: 120 tools: "" packages: mesa-vulkan-drivers libvulkan1 craft-fonts-ref: b076417b5880bd4154bd22f00695b1d28c6bea83 linux-env: WGPU_BACKEND=vulkan windows-env: CRAFT_PRINT_REQUIRE_QUEUE=1 env: CRAFT_PRINT_REQUIRE_QUEUE=0 setup-command: | set -euo pipefail corpus_fetcher=.test-inputs/photocraft mkdir -p "$corpus_fetcher" git -C "$corpus_fetcher" init git -C "$corpus_fetcher" remote add origin https://github.com/storytold/PhotoCraft.git git -C "$corpus_fetcher" fetch --quiet --depth=1 origin 74330157cb601573ae4523a95bb9132822fc3918 git -C "$corpus_fetcher" checkout --quiet --detach FETCH_HEAD (cd "$corpus_fetcher" && cargo xtask corpus --psd --psd-tools --atn) python scripts/test-fetch-pdf-test-fonts.py python scripts/fetch-pdf-test-fonts.py "$RUNNER_TEMP/craft-pdf-test-fonts" printf 'CRAFT_PSD_CORPUS=%s\n' "$GITHUB_WORKSPACE/$corpus_fetcher/corpus" >> "$GITHUB_ENV" printf 'CRAFT_PDF_TEST_FONT_DIR=%s\n' "$RUNNER_TEMP/craft-pdf-test-fonts" >> "$GITHUB_ENV" command: | cargo fmt --check cargo clippy --workspace --all-targets --locked -- -D warnings cargo clippy --workspace --all-targets --all-features --locked -- -D warnings cargo test --workspace --locked cargo test --workspace --all-features --locked windows-command: | powershell.exe -NoProfile -Command '$ErrorActionPreference = "Stop"; Start-Service Spooler; Add-PrinterDriver -Name "Generic / Text Only"' cargo fmt --check cargo clippy --workspace --all-targets --locked -- -D warnings cargo clippy --workspace --all-targets --all-features --locked -- -D warnings cargo test --workspace --locked cargo test --workspace --all-features --locked msrv: name: Rust 1.95 uses: storytold/craft-common-actions/.github/workflows/gate.yml@main with: os: '["ubuntu-latest"]' toolchain: 1.95.0 targets: "" tools: "" craft-fonts-ref: "" require-craft-fonts: false timeout-minutes: 15 dev-debug: "" command: cargo check --workspace --lib --all-features --locked wasm: name: UI and settings WASM uses: storytold/craft-common-actions/.github/workflows/gate.yml@main with: os: '["ubuntu-latest"]' targets: wasm32-unknown-unknown tools: "" craft-fonts-ref: "" require-craft-fonts: false timeout-minutes: 15 command: cargo check -p craft-ui -p craft-settings --all-features --locked --target wasm32-unknown-unknown