# Builds and tests the workspace on FreeBSD, inside a FreeBSD VM on a Linux runner # (GitHub has no FreeBSD runners). GPU tests skip themselves when the VM has no adapter. name: FreeBSD # The VM build is slow, so it runs nightly on main and on pushes to `release`, not on every pull # request: a drifted dependency still shows up within a day, and always before a release ships. # PRs that change the FreeBSD workflow itself still run it. on: push: branches: [release] pull_request: paths: - .github/workflows/freebsd.yml schedule: - cron: "27 2 * * *" workflow_dispatch: concurrency: group: freebsd-${{ github.ref }} cancel-in-progress: true permissions: contents: read jobs: freebsd: # Intentionally tracked at @main (not SHA-pinned) so org-wide CI improvements, security fixes, and build optimizations propagate without PR churn across all craftapp repos. uses: storytold/craft-common-actions/.github/workflows/freebsd.yml@main with: # Keep identical to ci.yml and release.yml. The shared FreeBSD workflow passes # CRAFT_FONTS_DIR to its tests but has no CRAFT_FONTS_REQUIRED input yet, so it does not # qualify the required Chinese input after the pin advances; that gate stays explicitly # pending in docs/egui-037-migration-plan.md section 5.1. craft-fonts-ref: 37827adc41fd165f9a9234ac40f94dbad353aa69