@@ -45,3 +45,111 @@ jobs:
4545 - name : Run test ${{ matrix.testName }}
4646 run : |
4747 ./gradlew ${{ matrix.testName }}
48+
49+ changes :
50+ name : report changed files
51+ runs-on : ubuntu-latest
52+ needs :
53+ - code-quality
54+ - shared-storage-tests
55+ outputs :
56+ changed : ${{ steps.filter.outputs.storage }}
57+ steps :
58+ - uses : actions/checkout@v5
59+ - uses : dorny/paths-filter@v3
60+ id : filter
61+ with :
62+ token : ${{ secrets.GH_RELEASE_TOKEN }}
63+ filters : |
64+ storage:
65+ - 'packages/async-storage/**'
66+
67+ android :
68+ name : Android RN
69+ needs : changes
70+ if : ${{ needs.changes.outputs.changed == 'true' }}
71+ runs-on : ubuntu-22.04
72+ steps :
73+ - name : Checkout
74+ uses : actions/checkout@v5
75+ - name : Setup project
76+ uses : ./.github/actions/setup-project
77+ - name : Install JS dependencies
78+ run : yarn
79+ - name : Build async-storage js
80+ run : yarn build:js
81+ - name : Bundle JS
82+ run : yarn bundle:android
83+ working-directory : examples/react-native
84+
85+ ios :
86+ name : iOS RN
87+ needs : changes
88+ if : ${{ needs.changes.outputs.changed == 'true' }}
89+ runs-on : macos-latest
90+ steps :
91+ - name : Checkout
92+ uses : actions/checkout@v5
93+ - name : Setup project
94+ uses : ./.github/actions/setup-project
95+ - name : Cache /.ccache
96+ uses : actions/cache@v3
97+ with :
98+ path : packages/async-storage/.ccache
99+ key : ccache-ios-${{ hashFiles('yarn.lock') }}
100+ restore-keys : ccache-ios-
101+ - name : Install JS dependencies
102+ run : yarn
103+ - name : Build async-storage js
104+ run : yarn build:js
105+ - name : Bundle JS
106+ run : yarn bundle:ios
107+ working-directory : examples/react-native
108+
109+ macOS :
110+ name : macOS RN
111+ needs : changes
112+ if : ${{ needs.changes.outputs.changed == 'true' }}
113+ runs-on : macos-latest
114+ steps :
115+ - name : Checkout
116+ uses : actions/checkout@v5
117+ - name : Setup project
118+ uses : ./.github/actions/setup-project
119+ - name : Cache /.ccache
120+ uses : actions/cache@v3
121+ with :
122+ path : packages/async-storage/.ccache
123+ key : ccache-ios-${{ hashFiles('yarn.lock') }}
124+ restore-keys : ccache-ios-
125+ - name : Install JS dependencies
126+ run : yarn
127+ - name : Build async-storage js
128+ run : yarn build:js
129+ - name : Bundle JS
130+ run : yarn bundle:macos
131+ working-directory : examples/react-native
132+
133+ windows :
134+ name : Windows RN
135+ needs : changes
136+ if : ${{ needs.changes.outputs.changed == 'true' }}
137+ runs-on : windows-2022
138+ steps :
139+ - name : Set up MSBuild
140+ uses : microsoft/setup-msbuild@v1.3
141+ - name : Setup VSTest.console.exe
142+ uses : darenm/Setup-VSTest@v1.2
143+ - name : Checkout
144+ uses : actions/checkout@v5
145+ - name : Setup project
146+ uses : ./.github/actions/setup-project
147+ with :
148+ windows-fix : true
149+ - name : Install JS dependencies
150+ run : yarn
151+ - name : Build async-storage js
152+ run : yarn build:js
153+ - name : Bundle JS
154+ run : yarn bundle:windows
155+ working-directory : examples/react-native
0 commit comments