diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml new file mode 100644 index 0000000..7f1c402 --- /dev/null +++ b/.github/workflows/pr-checks.yml @@ -0,0 +1,58 @@ +name: Pull Request Checks + +on: + pull_request: + branches: + - main + - develop + +jobs: + build-and-format: + name: Build and Format Check + runs-on: macos-26 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Select Xcode version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: '26.1.1' + + - name: Show Xcode version + run: xcodebuild -version + + - name: Cache Swift Package Manager + uses: actions/cache@v4 + with: + path: | + .build + ~/Library/Developer/Xcode/DerivedData + key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} + restore-keys: | + ${{ runner.os }}-spm- + + - name: Resolve Swift Package dependencies + run: xcodebuild -resolvePackageDependencies -project OMG.xcodeproj -scheme OMG + + - name: Build OMG + run: | + xcodebuild build \ + -project OMG.xcodeproj \ + -scheme OMG \ + -configuration Debug \ + -destination 'platform=macOS' \ + | xcpretty || exit 1 + continue-on-error: false + + - name: Install swiftformat + run: brew install swiftformat + + - name: Check code formatting + run: | + swiftformat --lint . + if [ $? -ne 0 ]; then + echo "❌ Code formatting issues detected. Please run 'swiftformat .' locally to fix." + exit 1 + fi