name: Validate iOS

on:
  push:
    branches:
      - main
    paths:
      - '.github/workflows/validate-ios.yml'
      - 'package/ios/**'
  pull_request:
    paths:
      - '.github/workflows/validate-ios.yml'
      - 'package/ios/**'

jobs:
  SwiftLint:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./package
    steps:
      - uses: actions/checkout@v4
      - name: Run SwiftLint GitHub Action (--strict)
        uses: norio-nomura/action-swiftlint@master
        with:
          args: --strict
        env:
          WORKING_DIRECTORY: ios
  SwiftFormat:
    runs-on: macOS-latest
    defaults:
      run:
        working-directory: ./package/ios
    steps:
      - uses: actions/checkout@v4

      - name: Install SwiftFormat
        run: brew install swiftformat

      - name: Format Swift code
        run: swiftformat --verbose .

      - name: Verify formatted code is unchanged
        run: git diff --exit-code HEAD
