# 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 on: push: branches: [main] pull_request: paths: - Cargo.toml - Cargo.lock - "**/Cargo.toml" - .github/workflows/freebsd.yml workflow_dispatch: concurrency: group: freebsd-${{ github.ref }} # A push to main doesn't cancel the run in progress (the newest waiting run replaces older ones), # so main gets complete runs however often it moves; PR pushes do cancel. cancel-in-progress: ${{ github.event_name == 'pull_request' }} 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