Skip to content

Commit 2bde0d4

Browse files
committed
ci: pod lib lint
1 parent 456925d commit 2bde0d4

File tree

2 files changed

+121
-0
lines changed

2 files changed

+121
-0
lines changed
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
name: CocoaPods Lint
2+
3+
# Trigger the workflow on push and pull request events
4+
on:
5+
push:
6+
branches: [ main, master, develop ]
7+
pull_request:
8+
branches: [ main, master, develop ]
9+
10+
# Cancel any in-progress workflow runs for the same branch
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
cocoapods-lint:
17+
name: Pod Lib Lint
18+
runs-on: macos-latest
19+
20+
steps:
21+
- name: Checkout Repository
22+
uses: actions/checkout@v4
23+
24+
- name: Setup Ruby
25+
uses: ruby/setup-ruby@v1
26+
with:
27+
ruby-version: '3.0'
28+
bundler-cache: true
29+
30+
- name: Install CocoaPods
31+
run: |
32+
gem install cocoapods --no-document
33+
pod --version
34+
35+
- name: Setup Xcode
36+
uses: maxim-lobanov/setup-xcode@v1
37+
with:
38+
xcode-version: latest-stable
39+
40+
- name: Show Xcode Version
41+
run: xcodebuild -version
42+
43+
- name: Update CocoaPods Repo
44+
run: pod repo update
45+
46+
- name: Pod Lib Lint - iOS
47+
run: |
48+
echo "🔍 Running pod lib lint for iOS..."
49+
pod lib lint EFQRCode.podspec \
50+
--platforms=ios \
51+
--allow-warnings \
52+
--verbose \
53+
--fail-fast
54+
55+
- name: Pod Lib Lint - macOS
56+
run: |
57+
echo "🔍 Running pod lib lint for macOS..."
58+
pod lib lint EFQRCode.podspec \
59+
--platforms=osx \
60+
--allow-warnings \
61+
--verbose \
62+
--fail-fast
63+
64+
- name: Pod Lib Lint - tvOS
65+
run: |
66+
echo "🔍 Running pod lib lint for tvOS..."
67+
pod lib lint EFQRCode.podspec \
68+
--platforms=tvos \
69+
--allow-warnings \
70+
--verbose \
71+
--fail-fast
72+
73+
- name: Pod Lib Lint - watchOS
74+
run: |
75+
echo "🔍 Running pod lib lint for watchOS..."
76+
pod lib lint EFQRCode.podspec \
77+
--platforms=watchos \
78+
--allow-warnings \
79+
--verbose \
80+
--fail-fast
81+
82+
- name: Pod Lib Lint - visionOS
83+
run: |
84+
echo "🔍 Running pod lib lint for visionOS..."
85+
pod lib lint EFQRCode.podspec \
86+
--platforms=visionos \
87+
--allow-warnings \
88+
--verbose \
89+
--fail-fast
90+
continue-on-error: true # visionOS support might not be available in all Xcode versions
91+
92+
- name: Pod Lib Lint - All Platforms
93+
run: |
94+
echo "🔍 Running comprehensive pod lib lint for all platforms..."
95+
pod lib lint EFQRCode.podspec \
96+
--allow-warnings \
97+
--verbose \
98+
--fail-fast
99+
100+
- name: Pod Spec Lint
101+
run: |
102+
echo "🔍 Running pod spec lint..."
103+
pod spec lint EFQRCode.podspec \
104+
--allow-warnings \
105+
--verbose \
106+
--fail-fast
107+
108+
- name: Success Notification
109+
if: success()
110+
run: |
111+
echo "✅ All CocoaPods lint checks passed successfully!"
112+
echo "🎉 The pod is ready for publishing."
113+
114+
- name: Failure Notification
115+
if: failure()
116+
run: |
117+
echo "❌ CocoaPods lint checks failed!"
118+
echo "🔧 Please fix the issues before merging the PR."
119+
echo "📋 Check the logs above for detailed error information."
120+
exit 1

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,4 @@ Dependency.xcworkspace
4444
Dependency.xcworkspace/
4545

4646
docs/
47+
.claude/

0 commit comments

Comments
 (0)