77 paths :
88 - ' .github/workflows/build-ios.yml'
99 - ' example/ios/**'
10+ - ' example/Gemfile'
11+ - ' example/Gemfile.lock'
12+ - ' example/package.json'
1013 - ' **/nitrogen/generated/shared/**'
1114 - ' **/nitrogen/generated/ios/**'
12- - ' cpp/**'
13- - ' ios/**'
14- - ' **/Podfile.lock'
15- - ' **/*.podspec'
16- - ' **/react-native.config.js'
17- - ' **/nitro.json'
15+ - ' packages/react-native-nitro-image/ios/**'
16+ - ' packages/react-native-nitro-web-image/ios/**'
17+ - ' example/ios/Podfile'
18+ - ' example/ios/Podfile.lock'
19+ - ' packages/react-native-nitro-image/NitroImage.podspec'
20+ - ' packages/react-native-nitro-web-image/NitroWebImage.podspec'
21+ - ' packages/react-native-nitro-image/package.json'
22+ - ' packages/react-native-nitro-web-image/package.json'
23+ - ' packages/react-native-nitro-image/react-native.config.js'
24+ - ' packages/react-native-nitro-web-image/react-native.config.js'
25+ - ' packages/react-native-nitro-image/nitro.json'
26+ - ' packages/react-native-nitro-web-image/nitro.json'
27+ - ' package.json'
28+ - ' bun.lock'
1829 pull_request :
1930 paths :
2031 - ' .github/workflows/build-ios.yml'
2132 - ' example/ios/**'
33+ - ' example/Gemfile'
34+ - ' example/Gemfile.lock'
35+ - ' example/package.json'
2236 - ' **/nitrogen/generated/shared/**'
2337 - ' **/nitrogen/generated/ios/**'
24- - ' cpp/**'
25- - ' ios/**'
26- - ' **/Podfile.lock'
27- - ' **/*.podspec'
28- - ' **/react-native.config.js'
29- - ' **/nitro.json'
38+ - ' packages/react-native-nitro-image/ios/**'
39+ - ' packages/react-native-nitro-web-image/ios/**'
40+ - ' example/ios/Podfile'
41+ - ' example/ios/Podfile.lock'
42+ - ' packages/react-native-nitro-image/NitroImage.podspec'
43+ - ' packages/react-native-nitro-web-image/NitroWebImage.podspec'
44+ - ' packages/react-native-nitro-image/package.json'
45+ - ' packages/react-native-nitro-web-image/package.json'
46+ - ' packages/react-native-nitro-image/react-native.config.js'
47+ - ' packages/react-native-nitro-web-image/react-native.config.js'
48+ - ' packages/react-native-nitro-image/nitro.json'
49+ - ' packages/react-native-nitro-web-image/nitro.json'
50+ - ' package.json'
51+ - ' bun.lock'
3052
3153env :
3254 USE_CCACHE : 1
@@ -36,14 +58,24 @@ jobs:
3658 name : Build iOS Example App
3759 runs-on : macOS-15
3860 steps :
39- - uses : actions/checkout@v4
61+ - uses : actions/checkout@v6
4062 - uses : oven-sh/setup-bun@v2
4163
4264 - name : Install npm dependencies (bun)
4365 run : bun install
4466
45- - name : Restore ccache
67+ - name : Install Ccache
4668 uses : hendrikmuhs/ccache-action@v1.2
69+ with :
70+ max-size : 1.5G
71+ key : ${{ runner.os }}-ccache-example-ios
72+ create-symlink : true
73+ - name : Setup ccache behavior
74+ run : |
75+ echo "CCACHE_SLOPPINESS=clang_index_store,file_stat_matches,include_file_ctime,include_file_mtime,ivfsoverlay,pch_defines,modules,system_headers,time_macros" >> $GITHUB_ENV
76+ echo "CCACHE_FILECLONE=true" >> $GITHUB_ENV
77+ echo "CCACHE_DEPEND=true" >> $GITHUB_ENV
78+ echo "CCACHE_INODECACHE=true" >> $GITHUB_ENV
4779
4880 - name : Setup Ruby (bundle)
4981 uses : ruby/setup-ruby@v1
@@ -56,25 +88,37 @@ jobs:
5688 run : sudo xcode-select -s "/Applications/Xcode_16.4.app/Contents/Developer"
5789
5890 - name : Restore Pods cache
59- uses : actions/cache@v4
91+ uses : actions/cache@v5
6092 with :
6193 path : example/ios/Pods
62- key : ${{ runner.os }}-pods-${{ hashFiles('**/ Podfile.lock', '** /Gemfile.lock') }}
94+ key : ${{ runner.os }}-pods-${{ hashFiles('example/ios/ Podfile.lock', 'example /Gemfile.lock') }}
6395 restore-keys : |
6496 ${{ runner.os }}-pods-
6597 - name : Install Pods
6698 working-directory : example
6799 run : bun pods
68100
101+ - name : Restore DerivedData cache
102+ uses : actions/cache@v5
103+ with :
104+ path : example/ios/build
105+ key : ${{ runner.os }}-dd-${{ hashFiles('example/ios/Podfile.lock', 'example/Gemfile.lock', 'example/package.json', 'package.json', 'bun.lock') }}-xcode16.4
106+ restore-keys : |
107+ ${{ runner.os }}-dd-
108+
69109 - name : Build App
70110 working-directory : example/ios
71- run : " set -o pipefail && xcodebuild \
72- CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ \
73- -derivedDataPath build -UseModernBuildSystem=YES \
74- -workspace NitroImageExample.xcworkspace \
75- -scheme NitroImageExample \
76- -sdk iphonesimulator \
77- -configuration Debug \
78- -destination 'platform=iOS Simulator,name=iPhone 16' \
79- build \
80- CODE_SIGNING_ALLOWED=NO"
111+ run : |
112+ set -o pipefail
113+ xcodebuild \
114+ CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ \
115+ -derivedDataPath build -UseModernBuildSystem=YES \
116+ -workspace NitroImageExample.xcworkspace \
117+ -scheme NitroImageExample \
118+ -sdk iphonesimulator \
119+ -configuration Debug \
120+ -destination 'platform=iOS Simulator,name=iPhone 16' \
121+ -showBuildTimingSummary \
122+ ONLY_ACTIVE_ARCH=YES \
123+ build \
124+ CODE_SIGNING_ALLOWED=NO
0 commit comments