Doc #41
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CocoaPods Lint | |
# Trigger the workflow on push and pull request events | |
on: | |
push: | |
branches: [ main, master, develop ] | |
pull_request: | |
branches: [ main, master, develop ] | |
# Cancel any in-progress workflow runs for the same branch | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
cocoapods-lint: | |
name: Pod Lib Lint | |
runs-on: macos-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.0' | |
bundler-cache: true | |
- name: Install CocoaPods | |
run: | | |
gem install cocoapods --no-document | |
pod --version | |
- name: Setup Xcode | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- name: Show Xcode Version | |
run: xcodebuild -version | |
- name: Update CocoaPods Repo | |
run: pod repo update | |
- name: Pod Lib Lint - iOS | |
run: | | |
echo "🔍 Running pod lib lint for iOS..." | |
pod lib lint EFQRCode.podspec \ | |
--platforms=ios \ | |
--allow-warnings \ | |
--verbose \ | |
--fail-fast | |
- name: Pod Lib Lint - macOS | |
run: | | |
echo "🔍 Running pod lib lint for macOS..." | |
pod lib lint EFQRCode.podspec \ | |
--platforms=osx \ | |
--allow-warnings \ | |
--verbose \ | |
--fail-fast | |
- name: Pod Lib Lint - tvOS | |
run: | | |
echo "🔍 Running pod lib lint for tvOS..." | |
pod lib lint EFQRCode.podspec \ | |
--platforms=tvos \ | |
--allow-warnings \ | |
--verbose \ | |
--fail-fast | |
- name: Pod Lib Lint - watchOS | |
run: | | |
echo "🔍 Running pod lib lint for watchOS..." | |
pod lib lint EFQRCode.podspec \ | |
--platforms=watchos \ | |
--allow-warnings \ | |
--verbose \ | |
--fail-fast | |
- name: Pod Lib Lint - visionOS | |
run: | | |
echo "🔍 Running pod lib lint for visionOS..." | |
pod lib lint EFQRCode.podspec \ | |
--platforms=visionos \ | |
--allow-warnings \ | |
--verbose \ | |
--fail-fast | |
continue-on-error: true # visionOS support might not be available in all Xcode versions | |
- name: Pod Lib Lint - All Platforms | |
run: | | |
echo "🔍 Running comprehensive pod lib lint for all platforms..." | |
pod lib lint EFQRCode.podspec \ | |
--allow-warnings \ | |
--verbose \ | |
--fail-fast | |
- name: Pod Spec Lint | |
run: | | |
echo "🔍 Running pod spec lint..." | |
pod spec lint EFQRCode.podspec \ | |
--allow-warnings \ | |
--verbose \ | |
--fail-fast | |
- name: Success Notification | |
if: success() | |
run: | | |
echo "✅ All CocoaPods lint checks passed successfully!" | |
echo "🎉 The pod is ready for publishing." | |
- name: Failure Notification | |
if: failure() | |
run: | | |
echo "❌ CocoaPods lint checks failed!" | |
echo "🔧 Please fix the issues before merging the PR." | |
echo "📋 Check the logs above for detailed error information." | |
exit 1 |