name: Check Code Formatting 🛠️
on:
  workflow_call:
jobs:
  clang-format:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: clang-format Check 🐉
        id: clang-format
        uses: ./.github/actions/run-clang-format
        with:
          failCondition: error

  swift-format:
    runs-on: macos-14
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: swift-format Check 🔥
        id: swift-format
        uses: ./.github/actions/run-swift-format
        with:
          failCondition: error

  gersemi:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: gersemi Check 🎛️
        id: gersemi
        uses: ./.github/actions/run-gersemi
        with:
          failCondition: error

  flatpak-validator:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Flatpak Manifest Check 📦
        id: flatpak-check
        uses: ./.github/actions/flatpak-manifest-validator
        with:
          failCondition: error

  qt-xml-validator:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Qt XML Check 🖼️
        id: qt-xml-check
        uses: ./.github/actions/qt-xml-validator
        with:
          failCondition: error
